У меня есть небольшая проблема с моей проверкой пароля.jQuery Подтвердить плагин - проверка пароля - минимальные требования - Regex
У нас есть форма регистрации с некоторыми полями. Я использую плагин jQuery Validate для проверки пользовательских входов.
Это все работает, кроме пароля-проверки:
Пароль должен соответствовать минимальным требованиям:
- минимальная длина: 8 -> Я просто использовать 'MINLENGTH: 8'
- по крайней мере, один строчный символ
- не менее одной цифры
- Допустимые символы: AZ az 0-9 @ * _ -. !
В настоящее время я использую этот код для проверки пароля:
$.validator.addMethod("pwcheck",
function(value, element) {
return /^[A-Za-z0-9\d=!\[email protected]_*]+$/.test(value);
});
Этот код работает для разрешенных символов, но не для минимальных требований. Я знаю, что вы можете использовать, например, (?=.*[a-z])
для нижнего регистра. Но я просто не работаю.
Если я добавлю (?=.*[a-z])
, весь код не работает. Мне нужно знать, как правильно добавить код в существующий.
Благодарим за ответы!
Это полный код
<script>
$(function() {
$("#regform").validate({
rules: {
forename: {
required: true
},
surname: {
required: true
},
username: {
required: true
},
password: {
required: true,
pwcheck: true,
minlength: 8
},
password2: {
required: true,
equalTo: "#password"
},
mail1: {
required: true,
email: true
},
mail2: {
required: true,
equalTo: "#mail1"
}
},
messages: {
forename: {
required: "Vornamen angeben"
},
surname: {
required: "Nachnamen angeben"
},
username: {
required: "Usernamen angeben"
},
password: {
required: "Passwort angeben",
pwcheck: "Das Passwort entspricht nicht den Kriterien!",
minlength: "Das Passwort entspricht nicht den Kriterien!"
},
password2: {
required: "Passwort wiederholen",
equalTo: "Die Passwörter stimmen nicht überein"
},
mail1: {
required: "Mail-Adresse angeben",
email: "ungültiges Mail-Format"
},
mail2: {
required: "Mail-Adresse wiederholen",
equalTo: "Die Mail-Adressen stimmen nicht überein"
}
}
});
$.validator.addMethod("pwcheck",
function(value, element) {
return /^[A-Za-z0-9\d=!\[email protected]_*]+$/.test(value);
});
});
</script>
Показать остальную часть кода. Где ваш '.validate()' вызов? Где HTML-разметка формы? – Sparky
Где вы добавили взгляд? Покажите нам код, который вы пробовали, не свою рабочую версию. – Bergi
Я добавил его почти везде. Не менее 20 разных позиций. У меня больше нет кода ... Должен сказать, что я очень новичок в этом. Так что простите меня. Я уверен, что это просто скобка или что-то вроде того, что я забыл. – bayerphi