parse-ssn
Version:
Tiny utils to handle formatting, masking, and validating of US Social Security numbers.
3 lines (2 loc) • 690 B
JavaScript
function t(t,n){void 0===n&&(n="");var e=new RegExp("[^"+n+"\\d]*","g");return t.trim().replace(e,"").slice(0,9)}exports.clean=t,exports.format=function(n,e,r){void 0===e&&(e="-"),void 0===r&&(r="*");var i=t(n,r).split("");return[0,1,2,3,3,4,5,5,6,7,8,9,10].reduce(function(t,n,r){return i.length?t.concat(3===r||6===r?e:i.shift()||" "):t},[]).join("").trim()},exports.mask=function(n,e){return void 0===e&&(e="*"),t(n,e).split("").map(function(t,n,r){return n<5?n===r.length-1?t:e:t}).join("")},exports.validate=function(t,n){return void 0===n&&(n="-"),new RegExp("^(?!666|000|9\\d{2})\\d{3}"+n+"{0,1}(?!00)\\d{2}"+n+"{0,1}(?!0{4})\\d{4}$").test(t)};
//# sourceMappingURL=parse-ssn.js.map