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

Regex for Validating SSN with *

本文关键字:SSN 正则表达式 验证 用于      更新时间:2023-09-26

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

但是,我们只显示SSN的最后4位数字,并且用*符号掩盖其他字符

用户可以在*位置仅输入一个数字,也可以按原样离开。

用户可以输入有效的输入,或者永远不会更改

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

用户将显示的 SSN 更改为无效

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

为此需要一个JavaScript正则表达式代码/文章。

您可以使用正则表达式:

('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 位数字,后跟字符-后跟 2 位数字((* 3 个字符,后跟字符-后跟 2 个字符*(。
  • 最后,整个代码(...)-'d{4}的含义与上一项中解释的相同,后跟字符-后跟 4 位数字

总之,('d{3}-'d{2}|'*{3}-'*{2})-'d{4}意味着:

    (
  • (3 位数字,后跟字符-后跟 2 位数字((* 3 个字符,后跟字符-后跟 2 个字符* ((,后跟字符-后跟 4 位数字