Если вы говорите о проверке формы, регулярное выражение для проверки правильного значения, а также правильных данных будет чрезвычайно сложным из-за различных стандартов страны и поставщика. Также будет сложно следить за новостями.
Я интерпретирую вопрос как поиск общепринятого шаблона, который может быть внутренне непоследовательным - например, иметь действительный набор номеров, но не подтверждать, что магистральная линия, обмен и т. Д. Соответствуют действительному шаблону префикс кода страны.
Северная Америка проста, и для международного я предпочитаю использовать «идиоматический» шаблон, который охватывает способы, которыми люди указывают и запоминают свои номера:
^((((\(\d{3}\))|(\d{3}-))\d{3}-\d{4})|(\+?\d{2}((-| )\d{1,8}){1,5}))(( x| ext)\d{1,5}){0,1}$
Североамериканский шаблон гарантирует, что, если включить одну круглую скобку, то обе. Международные счета для необязательного начального '+' и кода страны. После этого вы в идиоме. Допустимые совпадения:
(xxx)xxx-xxxx
(xxx)-xxx-xxxx
(xxx)xxx-xxxx x123
12 1234 123 1 x1111
12 12 12 12 12
12 1 1234 123456 x12345
+12 1234 1234
+12 12 12 1234
+12 1234 5678
+12 12345678
Это может быть предвзятым, поскольку мой опыт ограничен Северной Америкой, Европой и небольшой частью Азии.