Как написать валидацию через регулярное выражение?
Подскажите, пожалуйста, кто с регуляркой на "ты" )
Для вас это обычное дело, а мне магия )
есть условие, которое гласит :
- номер телефона состоит из 11 цифр (сотовый, без пробелов, + и всяких скобок)
- если первая цифра 7 или 8, а вторая НЕ 9 или 7, то валидацию проходит
Эдуард, 0xD34F, Добрый день! Скажите, а возможно написать регулярку объединив несколько условий?
К примеру
вот это условие
- номер телефона состоит из 11 цифр (сотовый, без пробелов, + и всяких скобок)
- если первая цифра 7 или 8, а вторая НЕ 9 или 7, то валидацию проходит
регулярка есть - ^[78][0-68]\d{9}$
и к примеру регулярка вот такого плана:
Если номер телефона содержит 10 символов, при этом: Первые два символа “79”, то номер считается ошибочным
регулярка - ^(?!79)\d{10}$
возможно ли сделать последовательность проверок одной регуляркой? попробовал вот так через |: /^(?!79)\d{10}$|^[78][0-68]\d{9}$/
но что-то не работает
ivanDoligov, если логика не противоречит - возможно. Но в вашем случае - нет, потому что например номер 8923456780 соответствует первому шаблону, но не соответствует второму.
Эдуард, Подождите, немного не понял, почему не пройдет соответствие со вторым шаблоном? Я же ставлю условие | - или а не допустим & - и (если в регулярке это и)
то есть он найдет для себя условие и не выкинет ошибку? или не пойму что-то?
Эдуард, всё равно не пойму )))
если мы проверяем фразу green apple на соответствие регулярке /green|red/, условие же у нас пройдет?
если мы проверим red apple, то условие тоже пройдет
если работает как и, то проходить же не должно? проходить же должна фраза green red apple
ivanDoligov, пройдёт ))) Но если вам нужно запретить В ОДНОМ шаблоне первыйИЛИтретий, то этого сделать не получится, потому что ИЛИ не является исключающим ИЛИ, что означает что оно работает как И.