algorithm - 验证美国社会安全号码 (SSN) 的新规则

标签 algorithm validation

我需要验证美国 SSN 号码。目前我有以下规则:

  1. 长度应为 9 位数字。
  2. 不允许 SSN 在任何数字组中全为零(000-xx-####、###-00-####、###-xx-0000)。
  3. 不允许使用区号(前 3 位)000、666 和 900-999 的 SSN。
  4. 社会保障号码 987-65-4320 到 987-65-4329 是不允许的。

并且验证组代码(-xx-)的规则很少。我已经在下面的站点验证了,但我无法理解“组代码”的逻辑?

http://www.codeproject.com/KB/validation/ssnvalidator.aspx

最佳答案

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/

相关文章:

java - 如何将 HTML 转换为格式良好且样式属性完好的 DOCX

algorithm - 分而治之 - 找到包含唯一元素的两个大小相等的数组之间的中位数?

c - 优化二分搜索算法

ruby-on-rails - rails : Validates_format_of for float not working

php - 使用 php 检测 JSON 中的重复键

javascript - 检查一个点位于样条/贝塞尔曲线上的哪些点之间

algorithm - 动态规划,最小化成本?

java - 使用 JAVA 来自用户的电子邮件验证(简单)

ruby-on-rails - rails 在模型中验证该值在数组内

javascript - jQuery 验证 - 根据其他字段更改 "Required"属性