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 相关文章推荐
理解Javascript_08_函数对象
Oct 15 Javascript
由Javascript实现的页面日历
Nov 04 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
Nov 20 Javascript
JS控制表单提交的方法
Jul 09 Javascript
js闭包引起的事件注册问题介绍
Mar 29 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
浅谈Postman解决token传参的问题
Mar 31 Javascript
vue src动态加载请求获取图片的方法
Oct 17 Javascript
详解关于webpack多入口热加载很慢的原因
Apr 24 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 Javascript
Vue实现开心消消乐游戏算法
Oct 22 Javascript
es6中let和const的使用方法详解
Feb 24 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
PHP 采集心得技巧
2009/05/15 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
php实现短信发送代码
2015/07/05 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python实现决策树分类(2)
2018/08/30 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
超市促销实习自我鉴定
2013/09/23 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
我的祖国演讲稿
2014/05/04 职场文书
师德师风建设方案
2014/05/08 职场文书
优秀班集体申报材料
2014/12/25 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
2015年暑假生活总结
2015/07/13 职场文书
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers