Проблема с регулярными выражениями
Изучаю регулярные выражения в JS.
Проверка e-mail var regex = /^([0-9a-zA-Z]([-.w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-w]*[0-9a-zA-Z].)+[a-zA-Z]{2,9})$/i; regex.test("user@name.net") = false regex.test("user@na.net") = true regex.test("user@namename.net") = true regex.test("user@namenamem.net") = false Странно!!! Подскажите, пжл, в чем проблема? Браузеры: Chrome, FF Заранее благодарю |
Maxmaxmaximus, благодарю за ответ! Разобрался с регулярными выражениями. Вы мне хороший вариант дали, но мне нужно было именно ту регу исправить. Нашел ошибки, исправил. Вот работающая версия
/^(((^|[-.]?)[0-9a-zA-Z]+)+@([0-9a-zA-Z]+[-]?[0-9a-zA-Z]+[.])+[a-zA-Z]{2,9})$/i или /^([0-9a-zA-Z]+([-.]?[0-9a-zA-Z]+)+@([0-9a-zA-Z]+[-]?[0-9a-zA-Z]+[.])+[a-zA-Z]{2,9})$/i Детали 1) /^( 2) ( (^|[-.]?) [0-9a-zA-Z]+ )+ 3) @ 4) ( [0-9a-zA-Z]+ [-]? [0-9a-zA-Z]+ \.)+ 5) [a-zA-Z]{2,9} 6) )$/i 1)Начало строки 2)Логин 3)(собака) 4)Домены 2-го и далее уровней 5)Домен 1-го уровня 6)Конец строки, игнорировать регистр |
A-Z убери или модификатор i (не зависит от регистра) убери в конце для начала.
|
Цитата:
|
Часовой пояс GMT +3, время: 16:49. |