Tiny toolkit to format, mask, and validate US Social Security numbers.
Compose methods for additional flexibility:
When dealing with formatting of masks that use an existing placeholder other than
Validation is based on information gathered from the Social Security
Administration's website. If an edge
case is missing, please open an issue.
By default,
To clean a string that may be masked, pass an exception.
npm i parse-ssn
Usage
mask(value: string[, placeholder = '*']): string
import { mask } from 'parse-ssn'
mask('123121234') // => *****1234
mask('123121234', '#') // => #####1234
format(value: string[, separator = '-', existingPlaceholder = '*']): string
import { format } from 'parse-ssn'
format('123121234') // => 123-12-1234
format('123121234', ' ') // => 123 12 1234
Compose methods for additional flexibility:
import { format, mask } from 'parse-ssn'
const masked = mask('123121234') // => *****1234
const formatted = format(masked) // => ***-**-1234
When dealing with formatting of masks that use an existing placeholder other than
*
, you need to pass additional information about the format.import { format } from 'parse-ssn'
format('#####1234', '-', '#') // => ###-##-1234
validate(value: string): boolean
Validation is based on information gathered from the Social Security
Administration's website. If an edge
case is missing, please open an issue.import { validate } from 'parse-ssn'
validate('123121234') // => true
clean(value: string, exception = ''): string
By default, clean
strips out all characters except numbers, and trims the
string to nine characters. You probably want to use this first before mask
or
format
.import { clean } from 'parse-ssn'
clean('123-12-1234') // => 123121234
clean(' 123 12-1234') // => 123121234
clean('123-12-1234-12345') // => 123121234
To clean a string that may be masked, pass an exception.
import { clean } from 'parse-ssn'
clean('*****1234', '*') // => *****1234