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 相关文章推荐
JQuery获取各种宽度、高度(format函数)实例
Mar 04 Javascript
Jquery动态进行图片缩略的原理及实现
Aug 13 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
Feb 28 Javascript
jQuery编程中的一些核心方法简介
Aug 14 Javascript
JS数组合并push与concat区别分析
Dec 17 Javascript
Jquery和JS获取ul中li标签的实现方法
Jun 02 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
Aug 29 Javascript
jsp 自动编译机制详细介绍
Dec 01 Javascript
jquery实现input框获取焦点的方法
Feb 06 Javascript
vue.js编译时给生成的文件增加版本号
Sep 17 Javascript
浅谈Angular7 项目开发总结
Dec 19 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
Jul 22 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
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
Node.js事件驱动
2015/06/18 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
python连接mysql实例分享
2016/10/09 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
Scrapy的简单使用教程
2017/10/24 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
爱我中华教学反思
2014/04/28 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
教师岗位职责范本
2015/04/02 职场文书
python tqdm用法及实例详解
2021/06/16 Python