首页 > Web开发 > 详细

js实现输入银行卡号隔四位添加一个空格

时间:2015-12-25 17:12:33      阅读:240      评论:0      收藏:0      [点我收藏+]

欧巴教我学习JavaScript的第二天,作为一个脚本绝缘体的我,实现了第一个小插件。

首先分析思路:

1、实时监控输入input框内的值,计算value的长度,当输入到第四个数字后添加一个空格;

2、限制input框内只能输入数字和空格,这个需要用正则表达式来实现比较简单,然后限制输入值得最大长度是多少;

3、实现以上功能后你就会发现删除input框内值得时候出现一个问题,当你删除第5个值时就会被检测到value的长度为4时,自动添加一个空格,从而成为死循环。解决方法,判断按键是否为Backspace键,如果是则不执行函数。

(里边有运用到jquery,用的时候加载jQuery库)

 1 <input type="text" id="test" name="textfield"  maxlength="23"  />
 2 
 3         <script>
 4             $("#test").keyup(function a (e) {
 5                 var obj = e;
 6                 if(obj.keyCode != 8){                                                        //判断是否为Backspace键,若不是执行函数;
 7                     var b = document.getElementById("test").value;        //定义变量input  value值;
 8                     var maxValue = 23;                                                       //限制输入框的最大值;
 9                     b = b.replace(/[^\d\s]/g,"");                                         //正则表达式:如果输入框中输入的不是数字或者空格,将不会显示;
10                    document.getElementById("test").value = b;               //把新得到得value值赋值给输入框;11                    for(n=1;n<=4;n++){                                                
12                         if(b.length <=5*n-2||b.length>5*n-1){                    //判断是否是该加空格的时候,若不会,还是原来的值;
13                             b = b;
14                         }else{
15                             b = b +" ";                                                           //给value添加一个空格;
16                             document.getElementById("test").value = b;    //赋值给输入框新的value值;
17                         }
18                     }        19                     }
20                     
21             });
22         </script>

 

js实现输入银行卡号隔四位添加一个空格

原文:http://www.cnblogs.com/lxgandlz/p/5076275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!