我需要验证美国 SSN 号码。目前我有以下规则:
- 长度应为 9 位数字。
- 不允许 SSN 在任何数字组中全为零(000-xx-####、###-00-####、###-xx-0000)。
- 不允许使用区号(前 3 位)000、666 和 900-999 的 SSN。
- 社会保障号码 987-65-4320 到 987-65-4329 是不允许的。
并且验证组代码(-xx-)的规则很少。我已经在下面的站点验证了,但我无法理解“组代码”的逻辑?
最佳答案
SSA 更改了 SSN 的签发规则,于 2011 年 6 月 25 日生效。参见 http://www.ssa.gov/employer/randomization.html .
这里概述了直到前一天才签发的 SSN 的规则:http://www.ssa.gov/employer/ssnweb.htm
我认为要准确验证 SSN,您需要知道它们的签发日期。 2011 年 6 月 25 日之前,使用旧规则。 2011年6月25日以后,使用新规则。
关于algorithm - 验证美国社会安全号码 (SSN) 的新规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960394/