Доброго времени суток, есть скрипт на проверку поля логин к примеру
var jVal = {
'login' : function() {
var nameInfo = $('#login');
var ele = $('input#login');
if(ele.val().length < 3 || ele.val().length > 32) {
jVal.errors = true;
nameInfo.removeClass('correct').addClass('error_form').show();
}else{
nameInfo.removeClass('error_form').addClass('correct').show();
}
var patt = /^[a-zA-Z0-9._-]+$/g;
if(!patt.test(ele.val())) {
jVal.errors = true;
nameInfo.removeClass('correct').addClass('error_form').show();
}else{
nameInfo.removeClass('error_form').addClass('correct').show();
}
},
$('#login').change(jVal.login); // вызывает обработку
Работает не совсем корректно, идет проверка на кол-во символов, и на разрешаемые символы, но работает один только в зависимости что вводить. Как комплексно настроить проверку дабы выполнялись все условия?
Вам не надо пытаться показывать форму после каждой проверки. Надо сначала все проверить, и в конце после непосредственных проверок показать или не показать.
можно сделать как то так (не проверял).
var jVal = {
'login' : function() {
var nameInfo = $('#login');
var ele = $('input#login');
var errors = false;
nameInfo.removeClass("correct error_form");
if(ele.val().length < 3 || ele.val().length > 32) {
errors = true;
}
var patt = /^[a-zA-Z0-9._-]+$/g;
if(!patt.test(ele.val())) {
errors = true;
}
var cls = errors ? "error_form" : "correct";
nameInfo.addClass(cls).show();
},
но повторюсь, каков смысл проверять отдельно длину, если регуляркой ее также можно проверить /^([\w-.]){3,32}$/ ? Вы же не выводите различные сообщения на каждый тип проверки.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости