Regular Expressions for ITU E.123 and E.164 phone number formats

Follow

Version Affected:  All

Description:  

How to write a Regex (Regular Expression) that matches the ITU E.123 and E.164 formats.

  

Cause:  

The SecureAuth Best Practices guide mentions that phone numbers should be formatted as per ITU E.123 and/or E.164:

https://docs.secureauth.com/display/KBA/Phone+Number+and+Email+Formatting+Best+Practices

 

Resolution:  

Use the following regex:

^\+\d{1,3}\s\d{2,3}\s\d{2,3}\s\d{4}|^\+\d{1,3}\s\d{1,14}(\s\d{1,13})?|^\(\d{3}\)\s\d{3}\s\d{4}?

 

This is comprised of 3 regular expressions combined:

1. E.123

^\+\d{1,3}\s\d{2,3}\s\d{2,3}\s\d{4} 

matches a 1 to 3 digit country code followed by a space, then 2 to 3 digits, another space, another 2 to 3 digits a final space then 4 digits, e.g.:

+1 123 456 7890

+31 42 123 4567

 

2. E.123

^\(\d{3}\)\s\d{3}\s\d{4}?

matches the standard national US 3-3-4 number format. A 3 digit area code in brackets, followed by a space, then 3 more digits, followed by another space then 4 digits e.g.:

(112) 123 4567 

Note the area code must be in brackets.

 

3. E.164

^\+\d{1,3}\s\d{1,14}(\s\d{1,13})?

matches a 1 to 3 digit country code followed by a space then between 1 and 14 digits, optionally followed by another space and up to 13 further digits, e.g.:

+44 1234 567890
+44 1234567890

Note: E.164 allows for a maximum of 15 digits, up to 3 of which are the country code, therefor the second grouping of 14 digits can complete the number.  The optional 13 characters are to allow for countries that traditionally have a space between their area code and the local number.

 

SecureAuth Knowledge Base Articles provide information based on specific use cases and may not apply to all appliances or configurations. Be advised that these instructions could cause harm to the environment if not followed correctly or if they do not apply to the current use case.

Customers are responsible for their own due diligence prior to utilizing this information and agree that SecureAuth is not liable for any issues caused by misconfiguration directly or indirectly related to SecureAuth products.

0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.