JS填写银行卡号每隔4位数字加一个空格


Posted in Javascript onDecember 19, 2016

1、原生js写法

!function () {
 document.getElementById('bankCard').onkeyup = function (event) {
  var v = this.value;
  if(/\S{5}/.test(v)){
   this.value = v.replace(/\s/g, '').replace(/(.{4})/g, "$1 ");
  }
 };
}();

2、jQuery写法

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title></title>
</head>
<body>
<input type="text" id="J_BankCard"/>
<script src="http://static.ydcss.com/libs/jquery/1.11.2/jquery.js"></script>
<script>
 !function () {
  $('#J_BankCard').on('keyup mouseout input',function(){
   var $this = $(this),
    v = $this.val();
   /\S{5}/.test(v) && $this.val(v.replace(/\s/g,'').replace(/(.{4})/g, "$1 "));
  });
 }();
</script>
</body>
</html>

输入银行卡号,每隔4位数字加一个空格(小细节)

document.getElementById('bankCardInp').onkeyup = function (event) {
  var v = this.value;
  console.log(/\S{5}/.test(v));
  console.log(v);
  if(/\S{5}/.test(v)){
    this.value = v.replace(/\s/g, '').replace(/(.{4})/g, '$1 ');
  }
};

小编前段时间自己做了个小项目,用到正则,刚好百度了一下,诧异的发现输入银行卡号每隔4位数字加一个空格 居然全部都是清一色的一坨代码,上面大家估计都能理解,当然我整体也能理解: 问题来了

if(/\S{5}/.test(v)){正确执行}
不知道大家有没注意到,反正我是困惑到了一开始, /\S{5}/.test(v) 要为 true 才执行,刚开始以为必须5个空字符以上才执行,
尤为不解,但是认真看了下, \S 居然是大写,我大约知道原因了,我相信大家像我一样一般常用都用 \d \w \s 这些小写的
\D \W \S 大写我还真没用过或许我的能力原因吧, \S 是除了空字符 那上面的代码就海阔天空了。

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

<!DOCTYPE html>
<html>

<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()
          //从左边沿到原坐标之间的空格数
          var curSp = (curVal.slice(0, caret).match(/\s/g) || []).length
         //修正光标位置
         this.selectionEnd = this.selectionStart = caret + curSp - sp
        
        }
      })
    })
  </script>
</body>

</html>

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

JS填写银行卡号每隔4位数字加一个空格

以上所述是小编给大家介绍的JS填写银行卡号每隔4位数字加一个空格,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript学习笔记2 函数
Jan 11 Javascript
jquery限定文本框只能输入数字即整数和小数
Nov 29 Javascript
三种检测iPhone/iPad设备方向的方法
Apr 23 Javascript
javascript实现捕捉键盘上按下的键
May 05 Javascript
javascript的变量、传值、传址、参数之间关系
Jul 26 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
Jun 20 Javascript
Vue实现6位数密码效果
Aug 18 Javascript
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
JointJS JavaScript流程图绘制框架解析
Aug 15 Javascript
ES6中new Function()语法及应用实例分析
Feb 19 Javascript
vue组件中传值EventBus的使用及注意事项说明
Nov 16 Javascript
JavaScript中校验银行卡号的实现代码
Dec 19 #Javascript
快速入门Vue
Dec 19 #Javascript
javascript中call,apply,bind函数用法示例
Dec 19 #Javascript
谈谈jQuery之Deferred源码剖析
Dec 19 #Javascript
15个非常实用的JavaScript代码片段
Dec 18 #Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
Dec 18 #Javascript
简单实现node.js图片上传
Dec 18 #Javascript
You might like
初探PHP5
2006/10/09 PHP
计数器详细设计
2006/10/09 PHP
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
PHP数据缓存技术
2007/02/14 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
js版本A*寻路算法
2006/12/22 Javascript
让你的CSS像Jquery一样做筛选的实现方法
2011/07/10 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
Python入门之后再看点什么好?
2018/03/05 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
植物选择:Botanic Choice
2017/02/15 全球购物
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
机关保密承诺书
2014/06/03 职场文书
新兵入伍心得体会
2014/09/04 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
Python之matplotlib绘制饼图
2022/04/13 Python