GooglePhone Utility

JS
S
JavaScript

Google utility to validate phone numbers (all cases, no regex)

1import phoneUtil from 'google-libphonenumber';
2
3const value = '+351910123456';
4const sanitisedInput = value.trim();
5const phoneUtilInstance = phoneUtil.PhoneNumberUtil.getInstance();
6const number = phoneUtilInstance.parseAndKeepRawInput(sanitisedInput, 'PT');
7    if (phoneUtilInstance.isValidNumber(number)) {
8      return true;
9    }
10
11
12
13// ============================================
14const { getCountryCode } = require('ip-country');
15const { PhoneNumberUtil } = require('google-libphonenumber');
16
17const phoneNumberUtil = PhoneNumberUtil.getInstance();
18
19async function getCountryFromPhoneNumber(phoneNumber) {
20  // Get the user's country code based on their IP address
21  const countryCode = await getCountryCode(ipAddress);
22
23  // Use the user's country code to create a "proto" phone number object
24  const protoNumber = phoneNumberUtil.parse(phoneNumber, countryCode);
25
26  // Get the country code of the phone number
27  const phoneNumberCountryCode = phoneNumberUtil.getRegionCodeForNumber(protoNumber);
28
29  // Return the phone number country code
30  return phoneNumberCountryCode;
31}

Created on 12/30/2022