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