我想进行验证检查以确定输入文本框的SSN是否遵循以下特定格式:XXX-XX-XXXX
作为其输入
我尝试过一个像这样自动格式化的功能......
function ssnCheck() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
if(val.length > 4) {
this.value = val;
}
if((val.length > 3) && (val.length < 6)) {
newVal += val.substr(0, 3) + '-';
val = val.substr(3);
}
if (val.length > 5) {
newVal += val.substr(0, 3) + '-';
newVal += val.substr(3, 2) + '-';
val = val.substr(5);
}
newVal += val;
this.value = newVal;
}
但它有时会出错,而不是特别是在移动设备上完全无效。我尝试了下面的解决方案,但他们没有工作。我正在应用上述方法就是这样做..
document.getElementById("ssn").addEventListener('keyup',ssnCheck,false);
任何有关使其正常工作的帮助,因此它会自动格式化,或者更好地解决此问题,因为当它们在框中输入完成后,它必须以XXX-XX-XXXX格式显示。
答案 0 :(得分:0)
试试这个regax:
^\d{3}(?:[-]\d{2})(?:[-]\d{4})?$