对于 jquery 验证,我需要 SSN 号码格式和 EIN 号码格式的正则表达式
EIN 号码,例如 52-4352452
SSN 号码,例如 555-55-5555
对于 SSN:
http://regexlib.com/Search.aspx?k=ssn
对于 EIN:
http://regexlib.com/REDetails.aspx?regexp_id=1990
已更正以包含缺失的前缀:
/^([0][1-6]|1[0-6]|(?!70)[27][0-7]|(?!31)[35][0-9]|[468][0-8]|9[0-589])?\d{7}$/
00-0000000
。^\d{2}\-?\d{7}$
<input type="text" id="ein1" value="0112345-67" />
<input type="text" id="ein2" value="01-1234567" />
<input type="text" id="ein3" value="011234567" />
<script type="text/javascript">
var patternEIN = /^\d{2}\-?\d{7}$/;
patternEIN.test($('#ein1').val()); // fail
patternEIN.test($('#ein2').val()); // pass
patternEIN.test($('#ein3').val()); // pass
</script>
对于 EIN,如果有效,将返回
true
:
/^(0[1-9]|[1-9]\d)-\d{7}$/.test($('#your-ein-field-id').val())
要将其限制为实际前缀,请改用此正则表达式:
/^(0[1-6]||1[0-6]|2[0-7]|[35]\d|[468][0-8]|7[1-7]|9[0-58-9])-\d{7}$/
但是,请注意,如果添加新前缀,这将不是最新的。
由于之前的所有答案都将其视为两个单独的问题,因此我已将必要的正则表达式合并为一个正则表达式。
这适用于 SSN 和 EIN,无论其格式是否使用连字符。
/(^\d{9})|(^\d{3}-\d{2}-\d{4}$)|(^[1-9]\d?-\d{7}$)/