UNPKG

envoc-form

Version:

Envoc form components

38 lines (37 loc) 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.zipCode = exports.phoneNumber = void 0; /** Normalizer for converting a string into a valid phone number. */ var phoneNumber = function (value) { if (!value) { return undefined; } var onlyNums = value.replace(/[^\d]/g, ''); if (onlyNums.length <= 3) { return onlyNums; } if (onlyNums.length <= 7) { return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3)); } if (onlyNums.length <= 10) { return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3, 6), "-").concat(onlyNums.slice(6, 10)); } if (onlyNums.length <= 13) { var countryCodeLength = onlyNums.length - 10; return "+".concat(onlyNums.slice(0, countryCodeLength), " ").concat(onlyNums.slice(countryCodeLength, 3 + countryCodeLength), "-").concat(onlyNums.slice(3 + countryCodeLength, 6 + countryCodeLength), "-").concat(onlyNums.slice(6 + countryCodeLength, onlyNums.length)); } return onlyNums; }; exports.phoneNumber = phoneNumber; /** Normalizer for converting a string into a valid zip code. Allows for XXXXX and XXXXX-XXXX format. */ var zipCode = function (value) { if (!value) { return undefined; } var onlyNums = value.replace(/[^\d]/g, ''); if (onlyNums.length > 5) { return onlyNums.substring(0, 5) + '-' + onlyNums.substring(5, 9); } return onlyNums; }; exports.zipCode = zipCode;