#algorithm #validation
#алгоритм #проверка
Вопрос:
Мне нужно подтвердить номер SSN в США. В настоящее время у меня есть следующие правила:
- Должно состоять из 9 цифр.
- Не допускаются SSN со всеми нулями в любой группе цифр (000-xx-####, ###-00-####, ###- xx-0000).
- Не допускаются SSN с региональными номерами (первые 3 цифры) 000, 666 и 900-999.
- Не допускаются SSN с 987-65-4320 по 987-65-4329.
И есть несколько правил для проверки группового кода (-xx-). Я прошел проверку на сайте ниже, но я не смог понять логику «группового кода»?
Комментарии:
1. С чем именно вам нужна помощь? На странице, на которую вы ссылаетесь, уже есть невероятно подробное описание алгоритма проверки SSN, на нем даже есть блок-схема ! Если вам нужна помощь с реальным кодом, вы должны пометить свой вопрос языком, который вас интересует, и задать более конкретный вопрос. Тег [algorithm] кажется здесь неуместным, учитывая качество этой ссылки…
2. данная ссылка на самом деле является СТАРЫМ сообщением, и теперь, согласно CMS, они удалили связь с локальной группой. только 4 правила, приведенные выше, являются последними правилами SSN.
3. Вы из государственного департамента? Если нет, то почему вы спрашиваете у людей их SSN? cpsr.org/issues/privacy/ssn-faq
4. я просил правила для проверки номера SSN, а не номера SSN People.. Мне действительно жаль, если вы неправильно поняли..
Ответ №1:
SSA изменило правила выдачи SSN, вступающие в силу 25 июня 2011 года. Смотрите http://www.ssa.gov/employer/randomization.html .
Правила для SSN, выпущенных до предыдущего дня, изложены здесь: http://www.ssa.gov/employer/ssnweb.htm
Я полагаю, что для точной проверки SSN вам необходимо знать даты их выдачи. До 25 июня 2011 года используйте старые правила. 25 июня 2011 года или позже используйте новые правила.