【发布时间】:2016-10-21 14:11:37
【问题描述】:
当用户输入数据时,我正在使用以下代码格式化信用卡。我的要求是将美国运通信用卡格式化为 4 6 5 格式,其余格式为 4 4 4 4 格式。问题是在输入所有 15 位数字之前,不会发生美国运通卡格式化。而一旦用户输入第 5 个字符,就会发生其他验证。如果是美国运通,我该如何实现?
if(result.card_type.name == 'amex' )
{
$(this).val(function(i, v){
/* var v = v.replace(/[^\d]/g, '').match(/.{1,4}/g); */
var v = v.replace(/\b(\d{4})(\d{6})(\d{5})\b/, '$1 $2 $3');
return v;
});
}
else{
$(this).val(function(i, v){
var v = v.replace(/[^\d]/g, '').match(/.{1,4}/g);
return v ? v.join(' ') : '';
});
}
【问题讨论】:
标签: javascript jquery regex