skip to content »

Validating social security number

validating social security number-89

UPDATE On June 25, 2011, the SSA changed the SSN assignment process to "SSN randomization".[27] SSN randomization affects the SSN assignment process in the following ways: It eliminates the geographical significance of the first three digits of the SSN, previously referred to as the Area Number, by no longer allocating the Area Numbers for assignment to individuals in specific states.

validating social security number-25

Most of the rules I use below have come from other programmers who work in the credit industry (no sources cited).Previously unassigned Area Numbers have been introduced for assignment excluding Area Numbers 000, 666 and 900–999. In essence, you can't really validate a US social security number. About the best you can do is toss stuff that's obviously invalid.Also bear in mind that the possible domain of a US Social Security Number is 1 billion discrete values (0-999999999).It goes against other (previous answers) and government documentation: "Previously unassigned area numbers were introduced for assignment excluding area numbers 000, 666 and 900-999."function check SSN() { var input SSN = #Your Input#, ssn Regex = new Reg Exp("^(9[0-9][0-9]|666|000|078051120|219099999|123456789|123121234|321214321)|^([0-8][0-9][0-9]00)|^([0-8][0-9][0-9][0-9][0-9]000)$"), repeats = /^(.)\1 $/; //make sure we have 2 dashes in the input Social Security number if( input SSN.match(/./g).length === 2) For the ssn Regex logic: The first section handles if the SSN starts with a number 900-999, 666, 000, or one of the known disqualifying SSNs mentioned above.^(9[0-9][0-9]|666|000|078051120|219099999|123456789|123121234|321214321) the second section ensures that the 2 digit portion isn't 00 ^([0-8][0-9][0-9]00) The third section ensures that the last portion isn't 0000 ^([0-8][0-9][0-9][0-9][0-9]0000) We additionally check to make sure they have inputted a number, and that they aren't just using a repeated number.This is obviously an old post, but I found some ways to shorten it.

Also there are a few specific numbers to invalidate according to this link: how I did it.

Given that there are gaps in the actual domain due to the allocation schema and that there are more than 300m people currently alive in the US, most of whom have social security numbers, nearly a third of the possible domain is taken.

Won't be long until we start seeing collisions. Answer 5 years after initial question due to changes in validation rules by the Social Security Administration.

Make note of your the User ID, password and expiration date.

Verifying Your Own Social Security Number Enrolling in and Using the E-Verify Online System for Employee Eligibility Verifying Employees’ Social Security Numbers for Withholding and Payroll Using the Consent-Based Social Security Number Verification System (CBSV)Using Other, Non-Governmental Sources to Verify SSNCommunity Q&A In order to work in the United States, everyone must have a valid social security number (SSN).

The page you linked there already has an incredibly detailed description of the algorithm for validating an SSN, it even has a flowchart!