@join-com/rc-phone-input
Version:
React component for entering telephone numbers
36 lines • 1.22 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.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(exports.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 || ''));
};
exports.validateNumber = function (country, input) {
var phoneNumber = resolvePhoneNumber(country, input);
if (phoneNumber && isPhoneNumberValid(phoneNumber)) {
return phoneNumber;
}
return undefined;
};
//# sourceMappingURL=helpers.js.map
;