检查使用Javascript键入的字符串是否为有效的SSN
我想进行验证检查,查看输入文本框的SSN是否遵循以下特定格式:检查使用Javascript键入的字符串是否为有效的SSN,javascript,Javascript,我想进行验证检查,查看输入文本框的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) && (
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;
}
任何关于使其工作的帮助,使其在键入时自动格式化,或者更好地解决此问题,因为在框中键入后,必须以XXX-XX-XXXX格式显示。尝试此regax:
^\d{3}(?:[-]\d{2})(?:[-]\d{4})?$
- ^=字符串的开头
- (?:…)=分组
- \d{3}=匹配3位数字
- \d{2}=匹配2位数字
- \d{4}=匹配4位数字
- [-]=匹配连字符
- $=字符串的结尾
模式属性(或其多边形填充)?
^\d{3}(?:[-]\d{2})(?:[-]\d{4})?$