Почему, если я выполняю регулярное выражение по принципу «ИЛИ», то у меня оно срабатывает, хотя по отдельности не должно срабатывать?

Есть 2 регулярных выражения
^\+?3?8?(0\d{9})- на проверку телефона и 9 символов.
\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b)
на проверку email

Если же я объединяю их и ввожу телефон длиннее чем 9 символов(либо опционально +38 и 9 символов), то регулярное выражение проходит, но по моей логике- не должно проходить.

Вот объединённое выражение

/(^\+?3?8?(0\d{9}))|(\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b)$/
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
fruworg
@fruworg
/(^\+?3?8?(0\d{9}))$|(\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b)$/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Stream Telecom Санкт-Петербург
от 80 000 до 110 000 ₽
XIAG AG Новосибирск
от 200 000 до 270 000 ₽
27 мая 2022, в 22:53
3000 руб./за проект
27 мая 2022, в 22:08
150 руб./за проект
27 мая 2022, в 21:32
200 руб./за проект