jquery 中 EIN 号码和 SSN 号码格式的正则表达式

问题描述 投票:0回答:4

对于 jquery 验证,我需要 SSN 号码格式和 EIN 号码格式的正则表达式

EIN 号码,例如 52-4352452

SSN 号码,例如 555-55-5555

regex jquery-validate
4个回答
22
投票

对于 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}$/

13
投票

我们的需求

  • 无前缀限制。
  • 9 位 EIN,连字符可选。
  • 带有连字符,可接受的格式:
    00-0000000

正则表达式

^\d{2}\-?\d{7}$

使用 JavaScript/jQuery 进行演示

<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>

3
投票

对于 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}$/

但是,请注意,如果添加新前缀,这将不是最新的。


3
投票

由于之前的所有答案都将其视为两个单独的问题,因此我已将必要的正则表达式合并为一个正则表达式。

这适用于 SSN 和 EIN,无论其格式是否使用连字符。

/(^\d{9})|(^\d{3}-\d{2}-\d{4}$)|(^[1-9]\d?-\d{7}$)/

© www.soinside.com 2019 - 2024. All rights reserved.