银行卡号每隔4位插入空格 (再用户填写银行卡号的时候挺有用的) IE9+

链接

输入4为数字, 再输入一个数字调试一下就能看懂了

<head lang="en">
    <meta charset="UTF-8">
    <title>银行卡号4位空格</title>
    <script src="http://j2.58cdn.com.cn/js/jquery-1.8.3.js"></script>
</head>

<body>
    <input type="text" id="kahao" />
    <script>
        $(function() {

            $(‘#kahao‘).on(‘keyup‘, function(e) {
             //只对输入数字时进行处理
               if((e.which >= 48 && e.which <= 57) ||
                       (e.which >= 96 && e.which <= 105 )){
                    //获取当前光标的位置
                    var caret = this.selectionStart
                    //获取当前的value
                    var value = this.value
                    //从左边沿到坐标之间的空格数, 计算原来有几个空格
                    var sp =  (value.slice(0, caret).match(/\s/g) || []).length
                    //去掉所有空格
                   var nospace = value.replace(/\s/g, ‘‘)
                   //重新插入空格
                   var curVal = this.value = nospace.replace(/(\d{4})/g, "$1 ").trim()   //主要这里"$1 " 加了一个空格
                   //从左边沿到原坐标之间的空格数, 重新赋值后有几个空格
                   var curSp = (curVal.slice(0, caret).match(/\s/g) || []).length
                  //修正光标位置
                 this.selectionEnd = this.selectionStart = caret + curSp - sp

                }
            })
        })
    </script>
</body>

</html>

  

支付宝为了兼容 和 易用性, 是在悬浮一个提示框分开卡号的, 这种也比较容易实现

如图 

时间: 2024-10-12 15:14:10

银行卡号每隔4位插入空格 (再用户填写银行卡号的时候挺有用的) IE9+的相关文章

银行卡号每隔4位插入空格

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>银行卡号4位空格</title> <script type="text/javascript" src="jquery-1.7.2.min.js"></script> </head>

PL/SQL中如何让程序每隔几秒插入一条数据

在编写ORACLE PL/SQL中,如果需要程序执行中暂停几秒钟再继续执行,可以通过oracle内置的dbms_lock.sleep来实现,不过dbms_lock包需要用户自己安装. [[email protected] ~]# su - oracle [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Mon May 25 16:36:12 2015 Copyright (c

如何在Markdown文档中插入空格?

简单说 在 Markdown 文档中,可以直接采用 HTML 标记插入空格(blank space),而且无需任何其他前缀或分隔符.具体如下所示: 插入一个空格 (non-breaking space)      或          或        插入两个空格 (en space)       或        或        插入四个空格 (em space)      或        或        插入细空格 (thin space)     或        或       

js正则实现用户输入银行卡号的控制及格式化

//js正则实现用户输入银行卡号的控制及格式化 <script language="javascript" type="text/javascript"> function formatBankNo (BankNo){ if (BankNo.value == "") return; var account = new String (BankNo.value); account = account.substring(0,22); /

JavaScript实现在文本框中输入空格时自动填写某个值

<script language="javascript" type="text/javascript"> var txtText4 = "#" + '<%= new DynamicControl(this, "Text4").ClientID%>'; $(function () { $(txtText4).keyup(function (e) { if (e.which == 32) $(this).

数字格式化,从右往左每隔三位加逗号的四种方法

转载自:http://www.uedsc.com/micrometer-method.html 有時候我个必需将数字加上每三个位数加上一个逗号,例如20000变成20,000,目的是为了在方便财务上阅读,所以我整理了以下四种解決的方法: 1.javascript //一个迂回函式 function formatNumber(str) { if(str.length <= 3){ return str; } else { return formatNumber(str.substr(0,str.l

北京某高校可用的电话号码有一下几类:校内点好号码有4位数字组成,第1位数字不是0;校外号码又分为本市电话和外地号码两类,拨校外电话需先按0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。用2.5.2小节所述方法,定义上述的电话号码。

电话号码 = [校内电话号码 | 校外电话号码] 校内电话号码 = 非零数字 + 3位数字校外电话号码 = [本市号码 | 外地号码] 本市号码 = 数字零 + 8位数字外地号码 = 数字零 + 3位数字 + 8位数字 非零数字 = [1|2|3|4|5|6|7|8|9]数字零 = 0 3位数字 = 3{数字}3 8位数字 = 非零数字 + 7位数字7位数字 = 7{数字}7 数字 = [0|l|2|3|4|5|6|7|8|9]

【习题2】北京某高校可用的电话号码有以下几类:校内电话号码由4位数字,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拔校外电话需先拔0,若是本市电话则再接着拔8位数字(第一位不是0),若是外地电话则拔3位区码再拔8位电话号码(第一位不是0)。

答:电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+ 3 位数字   //后面继续定义 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3        //3至3个数字 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]

P54 5.北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是0,;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接拨8位数字(第一位不是0),若是外地电话则拨3位区码再拨8位电话号码(第一位不是0)

电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+3位数字 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3            //3至3个数字 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]