使用*验证SSN的正则表达式

时间:2013-06-26 12:18:18

标签: javascript jquery html regex validation

我需要一个正则表达式来验证屏幕中显示的带有掩码的正确SSN号码。

但是我们只显示SSN的最后4位数字,我们用*符号

掩盖其他字符

用户只能在*处输入一个号码,或者按原样保留。

用户可以输入有效输入或从不更改

***-**-1234 123-55-1234

用户将显示更改为无效SSN

5**-**-1234 A**-**-1234 AAA-5*-1234

需要 JavaScript正则表达式代码/文章。

1 个答案:

答案 0 :(得分:3)

您可以使用正则表达式:

(\d{3}-\d{2}|\*{3}-\*{2})-\d{4}

允许:

***-**-1234
123-55-1234

没有别的。

说明:

  • \d表示一个数字(即0到9之间的任何数字(也是unicode数字));
  • \d{3}-\d{2}表示 3位数字,后跟字符-后跟2位数字;
  • \*{3}-\*{2}表示 3个字符*,后跟字符-,后跟2个字符* ;
  • |是交替运算符。这意味着大致“或”,例如(a|b)表示匹配ab ;
  • 所以:(\d{3}-\d{2}|\*{3}-\*{2})表示(3位数,后跟char -后跟2位数) OR (3个字符*,其次是由char -后跟2个字符*
  • 最后,整个代码(...)-\d{4}表示与上一项中所述相同,后跟char -后跟4位

总之,(\d{3}-\d{2}|\*{3}-\*{2})-\d{4}表示:

  • ((3位数字,后跟字符-后跟2位数字) OR (3个字符*,后跟字符{{1} }后跟2个字符-)),后面跟着字符*后跟4位数字