У меня небольшие проблемы с корректной работой следующего кода в моем скрипте:
if (email == "") {
$("#field2 .error1").show();
$("input#email").focus();
return false;
}
else if(email != /^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[\.]{1}[a-zA-Z]{2,4}$/) {
$("#field2 .error2").show();
$("input#email").focus();
return false;
}
В основном у меня есть форма на моей странице, и она проверяет пару полей с помощью внешнего файла js. Я хочу проверить, не заполнено ли поле электронной почты или оно не соответствует регулярному выражению. Если оно пустое, оно возвращает .error, а если оно не соответствует регулярному выражению, я хочу, чтобы оно показывало .error2.
Что происходит, так это то, что он показывает ошибки, но даже если я введу правильный адрес электронной почты, он не будет проверен и просто продолжит показывать .error2. Я довольно озадачен тем, что мне здесь не хватает, поэтому любая помощь будет оценена.
Даже если я попробую это,
if (email == "" || email != /^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[\.]{1}[a-zA-Z]{2,4}$/) {
$("#field2 .error1").show();
$("input#email").focus();
return false;
}
Я до сих пор не могу заставить его отправить форму ???
ОК. Итак, я попробовал это, и похоже, что оно работает правильно. Это выглядит правильно? Поэтому я приму к сведению строку regx и воспользуюсь лучшей, это было больше, чтобы заставить ее работать как задумано.
var email = $("input#email").val();
var regx = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[\.]{1}[a-zA-Z]{2,4}$/;
if (email == "") {
$("#field2 .error").show();
$("input#email").focus();
return false;
}
else if (!regx.test(email)){
$("#field2 .error2").show();
$("input#email").focus();
return false;
}