попробовать это. он будет содержать только 10 цифр.
/^[1-9]{1}[0-9]{9}$/
Я не уверен, что это сработает, но я попробовал.
/^[1-9]{1}[0-9-\s()+]{10}$/gm
Explainlation
1)^С. Соответствует началу строки или началу строки, если включен многострочный флаг (m).
2) [Набор символов. Сопоставьте любой символ в наборе. 1-9 Диапазон. Соответствует символу в диапазоне от «1» до «9» (код от 49 до 57). ]
3) {1} Квантификатор. Матч 1 предыдущего токена.
4) [Набор символов. Сопоставьте любой символ в наборе.
5) 0-9 Диапазон. Соответствует символу в диапазоне от «0» до «9» (код с кодом от 48 до 57).
6) - Персонаж. Соответствует символу «-» (код 45).
7) \ s Пробел. Соответствует любому символу пробела (пробелы, вкладки, разрывы строк).
8) (символы. Соответствует "(" символы (обугленный код 40).
9)) Характер. Соответствует символу ")" (код 41).
10) + Персонаж. Соответствует символу «+» (код 43). ]
11) {10} Квантификатор. Матч 10 предыдущего токена.
12) $ End. Соответствует концу строки или концу строки, если включен многострочный флаг (m).
13) g модификатор: глобальный. Все совпадения (не возвращаются в первом матче)
14) m модификатор: многострочный. Причины^и $, чтобы соответствовать начать/конец каждой строки (а не только начать/конец строки)
Не могли бы вы descrive на paaterns вы хотите, чтобы соответствовать со словами? Это также может помочь вам создать регулярное выражение самостоятельно. Возможно, '^ \ d {2,3} (\ -?) \ D {3} \ 1 \ d {3} $' уже то, что вам нужно. –