html设置银行账号四位隔开,vue中Element-ui 输入银行账号每四位加一个空格的实现代码...

一、问题描述:

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

二、效果图:

bf310635f80af5a04ea7849ad423a974.gif

三、实现代码:

@change="validateNum(scope.$index)">

// 输入银行卡号

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个数字用空格隔开

Document

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;

}

Document

$(function(){

$('#box').keyup(function(){

var value=$(this).val().replace(/\s/g,'').replace(/(\d{4})(?=\d)/g,"$1 ");

$(this).val(value)

})

})

总结

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值