UNPKG

@wldlab/yup-phone

Version:

Plugin for Yup who validate phone number with libphonenumber-js from Google

27 lines (17 loc) 611 B
'use strict'; var Yup = require('yup'); var max = require('libphonenumber-js/max'); // vendors const regex = /(\+)?(1)?[- ]?\(?[1-9]\d\d\)?[- ]?\d\d\d[- ]?\d\d\d\d/; function yupPhone(countryCode, message) { return this.matches(regex, message).test('phone', message, (value) => { if (!regex.test(value)) return false; const phoneNumber = max.parsePhoneNumberFromString(value, countryCode); if (phoneNumber === 'undefined') return false; return phoneNumber.isValid(); }); } var yupPhone$1 = (() => { Yup.addMethod(Yup.string, 'phone', yupPhone); })(); module.exports = yupPhone$1;