← 返回博客列表

JS银行卡号格式化

Vic.Wang2016/09/243962 阅读0 喜欢最近更新 2026/07/08 14:58:51

本文写于 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

分享:微博QQ空间X