This library includes phone number lookup and validation, and the geocoding, carrier mapping and timezone mapping functionalities that are available in some of googles libphonenumber libraries.
To reduce the amount of data that needs to be loaded to geocode / carrier map a phone-number for each mapping only the relevant number prefixes are loaded from a binary json file (BSON). When the prefix could not be found in the provided locale the library tries to fall back to
en
as locale.The library supports Node.js only at the moment.
✅ Check phone number validity
✅ Check phone number format
✅ Check phone number carrier name
✅ Check phone number geolocation (city)
✅ Check phone number timezone
✅ Check phone number country code
- Increase delivery rate of SMS campaigns by removing invalid phone numbers
- Increase SMS open rate and your marketing IPs reputation
- Protect your website from spam, bots and fake phone numbers
- Protect your product signup form from fake phone numbers
- Protect your website forms from fake phone numbers
- Protect your self from fraud orders and accounts using fake phone numbers
- Integrate phone number verification into your website forms
- Integrate phone number verification into your backoffice administration and order processing
- Integrate phone number verification into your mobile apps
We offer this phone verification and validation and more advanced features
in our Scalable Cloud API Service Offering - You could try it here Phone Number Verification
phone-number-validator-js licensed under Business Source License 1.1. The BSL allows use only for non-production purposes.
Use Case | Is a commercial license required? |
---|---|
Exploring phone-number-validator-js for your own research, hobbies, and testing purposes | No |
Using phone-number-validator-js to build a proof-of-concept application | No |
Using phone-number-validator-js to build revenue-generating applications | Yes |
Using phone-number-validator-js to build software that is provided as a service (SaaS) | Yes |
Forking phone-number-validator-js for any production purposes | Yes |
To purchase a license for uses not authorized by BSL, please contact us at [email protected].
npm install @devmehq/phone-number-validator-js
or
yarn add @devmehq/phone-number-validator-js
The available methods are:
geocoder(phonenumber: PhoneNumber, locale?: GeocoderLocale = 'en'): string | null
- Resolved to the geocode or null if no geocode could be found (e.g. for mobile numbers)carrier(phonenumber: PhoneNumber, locale?: CarrierLocale = 'en'): string | null
- Resolves to the carrier or null if non could be found (e.g. for fixed line numbers)timezones(phonenumber: PhoneNumber): Array<string> | null
- Resolved to an array of timezones or null if non where found.
import { geocoder, carrier, timezones, parsePhoneNumberFromString } from '@devmehq/phone-number-validator-js'
const fixedLineNumber = parsePhoneNumberFromString('+41431234567')
const locationEN = geocoder(fixedLineNumber) // Zurich
const locationDE = geocoder(fixedLineNumber, 'de') // Zürich
const locationIT = geocoder(fixedLineNumber, 'it') // Zurigo
const mobileNumber = parsePhoneNumberFromString('+8619912345678')
const carrierEN = carrier(mobileNumber) // China Telecom
const carrierZH = carrier(mobileNumber, 'zh') // 中国电信
const fixedLineNumber2 = parsePhoneNumberFromString('+49301234567')
const tzones = timezones(fixedLineNumber2) // ['Europe/Berlin']
yarn test
Please feel free to open an issue or create a pull request and fix bugs or add features, All contributions are welcome. Thank you!