#javascript #jquery #validation #email
Вопрос:
$("#signUp").click(function(e){
var email= $('#email').val()
if(email=='' || email != "/^([a-zA-Z0-9_. -]) @(([a-zA-Z0-9-]) .) ([a-zA-Z0-9]{2,4}) $/"){
$('#emailErr').html('**Invalid email')
e.preventDefault();
} else {
$('#emailErr').hide();
}
в чем тут ошибка? Это предотвращает кнопку отправки.
Ответ №1:
Ты пропускаешь закрытие parenthesis
и еще curly bracket
.
Добавление });
должно исправить.
Ответ №2:
Вы сравниваете содержимое входных данных с использованием регулярного выражения !=
. Это верно для каждой строки, которая буквально не равна регулярному выражению — она НЕ пытается соответствовать регулярному выражению, она сравнивает две строки, из которых одна является регулярным выражением. Единственный способ, чтобы сравнение было ложным, — это ввести регулярное выражение во входные данные.
Чтобы проверить, соответствует ли строка регулярному выражению, используйте
if (email.match(/^([a-zA-Z0-9_. -]) @(([a-zA-Z0-9-]) .) ([a-zA-Z0-9]{2,4}) $/))
Обратите внимание, что литералы регулярных выражений не содержат кавычек вокруг них.