vue中Element-ui 输入银行账号每四位加一个空格的实现代码


Posted in Javascript onSeptember 14, 2018

一、问题描述:

    我们在输入银行账号会设置每四位添加一个空格,输入金额,每三位添加一个空格。那么,在vue,element-ui 组件中,如何实现呢?

二、效果图:

vue中Element-ui 输入银行账号每四位加一个空格的实现代码

三、实现代码:

<el-table-column prop="account" label="银行账号">
  <template slot-scope="scope">
   <el-input type="text" maxlength="23" v-model="scope.row.account" placeholder="请输入银行账号"   
     @change="validateNum(scope.$index)"></el-input>
  </template>
</el-table-column>
// 输入银行卡号
 validateNum (index) {
  this.setNum(this.supplierObjs.supplierBankAccount, index)
 },
// 设置银行卡号,每四位添加一个空格
 setNum (data, index) {
  data.forEach((element, i) => {
  element.account = element.account.replace(/\s/g, '').replace(/[^\d]/g, '').replace(/(\d{4})(?=\d)/g, '$1 ')
  this.$set(element, 'account', element.account)
  })
 },

四、思路:

   1、在组件的change事件中添加实现方法(因为我们的业务需求是可以添加多个银行卡号,所以用index做了区分),取出每行的值;

   2、用element.account = element.account.replace(/\s/g, '').replace(/[^\d]/g, '').replace(/(\d{4})(?=\d)/g, '$1 '),类似正则表达式的方法对数据进行处理;

   3、this.$set(element, 'account', element.account),set方法,将处理后的值set到model中,处理后的数据就保存到model中了。

         实现起来也非常简单,但是因为element-UI没有提供输入设置的方法,所以需要自己根据需求完善一下。

补充:下面看下js 填写银行卡号时,每4个数字用空格隔开

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <title>Document</title>
  <script src="js/jQuery.js"></script>
</head>
<body>
  <script>
  var num = 0;
  function inputAccount(){
   var str = $('#bankCard').val();
   var elem = document.getElementById("bankCard");
   console.log(elem);
   if(str.length > num){
     var c = str.replace(/\s/g, ""); 
     if(str != "" && c.length > 4 && c.length % 4 == 1){
      $('#bankCard').val(str.substring(0, str.length - 1)+ " " + str.substring(str.length - 1, str.length));
     }
   }
   if(elem.setSelectionRange){//W3C
      setTimeout(function(){
        elem.setSelectionRange(elem.value.length,elem.value.length);
        elem.focus();
      },0);
    }else if(elem.createTextRange){//IE
      var textRange=elem.createTextRange();
      textRange.moveStart("character",elem.value.length);
      textRange.moveEnd("character",0);
      textRange.select();
    }
   num = str.length;
 }
  </script>
  <input type="text" name="" oninput="inputAccount()" id="bankCard" />
</body>

</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <title>Document</title>
  <script src="js/jQuery.js"></script>
</head>
<body>
  <input type="text" name="" id="box" />
  <script>
   $(function(){
    $('#box').keyup(function(){
     var value=$(this).val().replace(/\s/g,'').replace(/(\d{4})(?=\d)/g,"$1 "); 
     $(this).val(value)
    }) 
   }) 
  </script>
</body>
</html>

总结

以上所述是小编给大家介绍的vue中Element-ui 输入银行账号每四位加一个空格的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
event.keyCode键码值表 附只能输入特定的字符串代码
May 15 Javascript
JS前端框架关于重构的失败经验分享
Mar 17 Javascript
js实现动态改变字体大小代码
Jan 02 Javascript
js实现的复制兼容chrome和IE
Apr 03 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
js实现文本框选中的方法
May 26 Javascript
jquery版轮播图效果和extend扩展
Jul 18 jQuery
代码详解Vuejs响应式原理
Dec 20 Javascript
关于vue-cli 3配置打包优化要点(推荐)
Apr 22 Javascript
Jquery Datatables的使用详解
Jan 30 jQuery
vue 实现setInterval 创建和销毁实例
Jul 21 Javascript
javascript实现智能手环时间显示
Sep 18 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
Sep 14 #Javascript
Javascript 之封装(Package)
Sep 14 #Javascript
微信小程序框架wepy之动态控制类名
Sep 14 #Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
Sep 14 #Javascript
react 国际化的实现代码示例
Sep 14 #Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
Sep 14 #Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 #Javascript
You might like
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
详解vue中移动端自适应方案
2019/05/05 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
Python字典及字典基本操作方法详解
2018/01/30 Python
用python处理MS Word的实例讲解
2018/05/08 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
SHEIN台湾:购买最新流行女装服饰
2019/05/18 全球购物
大学生实习期自我评价范文
2013/10/03 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
三方协议书范本
2014/04/22 职场文书
安全技术说明书
2014/05/09 职场文书
诚信贷款承诺书
2014/05/30 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL