Страницы

Поиск по вопросам

среда, 12 декабря 2018 г.

Регулярное выражение для поиска мобильного телефона в тексте

Подскажите регулярное выражение для поиска номера мобильного телефона в тексте.
Номера телефонов вводятся разными пользователями и в совершенно непредсказуемом формате, например могут участвовать -+()_ пробелы и еще не известно на что хватит фантазии.
Примеры телефонов:
8 900 000-00-00
+7 (900) 000 00-00
+7 9001112233
89001112233
8(900) 111-2233
и т.д


Ответ

Думаю, примерно так:
/(\+7|8)[- _]*\(?[- _]*(\d{3}[- _]*\)?([- _]*\d){7}|\d\d[- _]*\d\d[- _]*\)?([- _]*\d){6})/g
console.log( "8 900 000-00-00\ +7 (900) 000 00-00\ +7 9001112233\ 89001112233\ 8(900) 111-2233\ 8 (1234) 12 12 12\ 8 (12-34) 12 12 12\ 8 ( 123 ) 412 12 12".match( /(\+7|8)[- _]*\(?[- _]*(\d{3}[- _]*\)?([- _]*\d){7}|\d\d[- _]*\d\d[- _]*\)?([- _]*\d){6})/g )) .as-console-wrapper.as-console-wrapper { max-height: 100vh }

Комментариев нет:

Отправить комментарий