Подскажите регулярное выражение для поиска номера мобильного телефона в тексте.
Номера телефонов вводятся разными пользователями и в совершенно непредсказуемом формате, например могут участвовать -+()_ пробелы и еще не известно на что хватит фантазии.
Примеры телефонов:
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 }
Комментариев нет:
Отправить комментарий