Validating phone numbers in
This is a textbook example of where we need a backslash to escape a special character so the regular expression treats it as literal input.
As we’ve repeatedly seen, parentheses are special characters in regular expressions, but in this case we want to allow a user to enter parentheses and have our regex recognize them.
The “1” in this pattern is preceded by an optional plus sign, and optionally followed by one of three separators (hyphen, dot, or space).
The entire, added noncapturing group is also optional, but since the “1” is required within the group, the preceding plus sign and separator are not allowed if there is no leading “1.”Recipe 4.3 shows how to validate international phone numbers.
With our Real-Time Phone Validation & Verification service you can easily clean up existing customer data or verify if a phone number is valid and reachable.
We also detect the location and line type to ensure full compliance with the FCC Telephone Consumer Protection Act (TCPA).
This allows website visitors to correct errors in their phone numbers instantly with the benefit that only valid phone numbers are accepted and businesses can keep in touch with existing and prospective customers.Beyond the basic rules just listed, there are a variety of reserved, unassigned, and restricted phone numbers.Unless you have very specific needs that require you to filter out as many phone numbers as possible, don’t go overboard trying to eliminate unused numbers.As noted previously, the North American Numbering Plan (NANP) is the telephone numbering plan for the United States and its territories, Canada, Bermuda, and 17 Caribbean nations. Techniques used in the regular expressions and replacement text in this recipe are discussed in Chapter 2. Recipe 2.1 explains which special characters need to be escaped. Since a question mark is used after each separator, the phone number digits are allowed to run together. The NANP is the telephone numbering plan for the countries that share the country code “1.” This includes the United States and its territories, Canada, Bermuda, and 17 Caribbean nations.It excludes Mexico and the Central American nations.A regular expression can easily check whether a user entered something that looks like a valid phone number. Thus, the sequences that enclose the first group of digits match literal parenthesis characters.By using capturing groups to remember each set of digits, the same regular expression can be used to replace the subject text with precisely the format you want. Both are followed by a question mark, which makes them optional.Character classes allow you to match any one out of a set of characters.is another character class, one that allows any one of three separators.