JS银行卡号格式化
本文写于 2016 年,距今已有 10 年,文中提及的技术方案与接口可能已经过时,请注意甄别参考。
最近微站中有个需求,用户在输入银行卡号时,需要以 4 位 4 位的形式显示,就是每隔 4 位加个空格,方便用户校对输入的银行卡是否正确,这也算是提高用户体验吧。
主要用了正则匹配和字符串的替换方法 replace
示例如下:
6201222200003334567 => 6201 2222 0000 3334 567
关键JS代码:
'6201222200003334567'.replace(/(\d{4})(?=\d)/g, "$1 ");这里的 card 换成银行卡号就可以了,很简单的一句代码。
jQuery代码:
$('#bankcard').keyup(function() {
var val = $(this).val();
val = val.replace(/(\d{4})(?=\d)/g, "$1 ");
$(this).val( val );
});大多数的银行卡号都是 16-19 位的,所以这里限制了最大输入位数是 23 位,为什么是 23 位?19 位数字+格式化后的 4 个空格,当然就 23 位了。
注意:一般数据库里面存的都是不带格式的原始数据,所以提交的时候记得过滤下空格再提交哦。毕竟格式化这种算是表现层,前端展示的时候处理下就好,业务逻辑什么用到的卡号可不是格式化后的呢。
"1234 4567 8901 2345 111".replace(/\s/g, '');若有共鸣,不妨点个喜欢
本文地址:https://www.mingsixue.com/blog/detail/JS-bankcard-format
文章若需转载,请附上原文链接,谢谢配合。^_^