UNPKG

@join-com/rc-phone-input

Version:

React component for entering telephone numbers

34 lines 1.14 kB
export var getMinPhoneNumberLength = function (format) { return (format.replace(/^\+[\.]+[- ]?(\([\.]+\))?/, '').match(/\./g) || []).length; }; var DEFAULT_MIN_PHONE_NUMBER_LENGTH = 7; var resolvePhoneNumber = function (country, input) { if (input.length < 4) { return; } var cleanNumber = input.replace(/[^\d+]/g, ''); if (!cleanNumber) { return; } var minLength = country.format ? Math.min(getMinPhoneNumberLength(country.format), DEFAULT_MIN_PHONE_NUMBER_LENGTH) : DEFAULT_MIN_PHONE_NUMBER_LENGTH; if (cleanNumber.length < minLength) { return; } if (input[0] === '+') { return cleanNumber; } return "+" + country.dialCode + cleanNumber; }; var isPhoneNumberValid = function (phoneNumber) { return new RegExp(/^[+]*([-\s\./0-9]*)+$/).test("" + (phoneNumber || '')); }; export var validateNumber = function (country, input) { var phoneNumber = resolvePhoneNumber(country, input); if (phoneNumber && isPhoneNumberValid(phoneNumber)) { return phoneNumber; } return undefined; }; //# sourceMappingURL=helpers.js.map