1) Create a text field named: ssn
2) Under the field options, click on the "validation" tab
3) Click "Validated By Calculation" and enter the below calculation and check the box "Validate only if field has been modified":
Length(ssn) = 11 and
PatternCount("0123456789", Left( ssn , 1)) > 0 and
PatternCount("0123456789", Middle( ssn , 2, 1)) > 0 and
PatternCount("0123456789", Middle( ssn , 3, 1)) > 0 and
Middle( ssn, 4, 1) = "-" and
PatternCount("0123456789", Middle( ssn , 5, 1)) > 0 and
PatternCount("0123456789", Middle( ssn , 6, 1)) > 0 and
Middle( ssn, 7, 1) = "-" and
PatternCount("0123456789", Middle( ssn , 8, 1)) > 0 and
PatternCount("0123456789", Middle( ssn , 9, 1)) > 0 and
PatternCount("0123456789", Middle( ssn , 10, 1)) > 0 and
PatternCount("0123456789", Middle( ssn , 11, 1)) > 0
or
Length( ssn) = 0
4) Check the box "Strict: Do not allow override of validation
5) Check the box "Display custom message if validation fails" and enter the below text:
There is a problem with your social security number format. Please click REVERT.
6) You're done! If the validation fails, it will force the user to click Revert.
I have attached a file that has this as example as well as a phone format, state format and the very useful state code and name... don't expect your users to know all the state codes.
Good luck!
format.zip