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

VIn*_*ayK 4 algorithm validation

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

  1. 应该是9位数.
  2. 不允许在任何数字组中具有全零的SSN(000-xx - ####,### - 00 - ####,### - xx-0000).
  3. 不允许使用区号(前3位)000,666和900-999的SSN.
  4. 不允许SSN从987-65-4320到987-65-4329.

验证组代码(-xx-)的规则很少.我已在下面的网站验证过,但我无法理解"群组代码"的逻辑?

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

Phi*_*ppe 5

SSA于2011年6月25日更改了SSN发布规则.请参阅http://www.ssa.gov/employer/randomization.html.

这里概述了直到前一天发布的SSN规则:http://www.ssa.gov/employer/ssnweb.htm

我认为,要准确验证SSN,您需要知道它们的发布日期.在2011年6月25日之前,使用旧规则.在2011年6月25日或之后,使用新规则.