Пытаюсь ограничить ошибочное заполнение адресов электронной почты с помощью RegExp.
Левая часть (ЛЧ) - любые английские буквы;цифры;спецсимволы (попадались случаи с "-" и"." в имени )
Разделитель (@)
Правая часть (ПЧ) - любые английские буквы;цифры;спецсимволы (попадались почты через 2 точки nbgf @trp.org.ua)
шаблоном - ^[a-z0-9_'+*^&=?~{}\-\.]*\@[a-z0-9_'+*^&=?~{}\-\.]*$
но при таком шаблоне есть возможность окончить строку точкой
пробовала изменить шаблон с доп группу только с англ буквами
на ^[a-z0-9_'+*^&=?~{}\-\.]*\@[a-z0-9_'+*^&=?~{}\-]*\.[a-z]*$ (ЛЧ "@" ПЧ "." ДопЧ) но это не решило вопроса с последней точкой
кто работал с регулярными выражениями подскажите где я ошиблась скобку забыла поставить.
Прекратите проверять Email с помощью регулярных выражений!
Если же вы все равно не можете успокоиться, пока не проверите адрес на корректность, просто проверьте на наличие в нем символа @. А если чувствуете, что способны на большее — добавьте проверку на точку:
/.+@.+\..+/i Все, что сверх этого — стрельба из пушки по воробьям.
(2) Вопрос как в регулярном сформировать условие по которому проверку проходило при условии наличия собаки и во второй части точки, при этом точка не должна быть последней и не обязана быть единственной.
(11)я поняла. не надо ограничивать кривые ручки надо переложить ответственность на клиента.
ну не суть, поставленную задачу я вроде решила. (только пробелы не по запрещала)
Спасибо за ваш интерес.
Прекратите проверять Email с помощью регулярных выражений!
Самое популярное выражение:
/\A[^@]+@([^@\.]+\.)+[^@\.]+\z/ Хуже
/^(|(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6})$/i По этой причине, с недавнего времени я проверяю все email-адреса следующим регулярным выражением:
/@/