Требуется регулярное выражение для номера мобильного телефона, начинающегося с 61 до 99 с номером 10 di git - PullRequest
0 голосов
/ 14 апреля 2020

Требуется, чтобы номер мобильного телефона начинался с 61 до 99, например 61xxxxxxxx, 62xxxxxxxxx ..., 99xxxxxxxxxx

Требуется регулярное выражение для соответствия этому случаю. Если номер мобильного телефона начинается с 0 или 11,12 или любого значения меньше 61, то он должен быть недействительным

Номер мобильного телефона не может содержать до 10 цифр, код страны не требуется.

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

Вам, вероятно, лучше использовать любой инструмент программирования, который вам нужен, чтобы оценить, находятся ли первые 2 цифры в диапазоне, гораздо проще и, вероятно, также эффективнее. Тем не менее, если вы строго хотите использовать регулярные выражения, это будет делать - (?:6[1-9]|[7-9][0-9])\d{8}$

Вот демо

По сути, проверяет первый ди git, если это 6, следующий di git должен быть в диапазоне [1-9], если это 7, 8 или 9 (т.е. диапазон [7-9]), следующий di git может быть в диапазоне [0 -9]. Далее следуют 8 цифр.

Конечно, это выше простое и понятное решение. По сути, проверяя каждый первый di git, а затем сопоставляя следующий. Однако, если ваш вариант регулярного выражения поддерживает отрицательный внешний вид, вы, вероятно, могли бы сократить это немного больше (жертвуя читабельностью ради краткости), но я предпочитаю это.

0 голосов
/ 14 апреля 2020

Вы можете сгенерировать префикс для чисел и добавить шаблон для оставшихся 8 цифр.

Примерно так

const regexp = new RegExp('('+[...Array(39).keys()].map(key => key + 61).join('|') + ')\\d{8,8}')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...