У меня проблема с паролем.
Там была зарегистрированная форма с некоторыми полями. Я использую плагин jQuery Validate для проверки пользовательских входов.
Все работает, кроме проверки пароля:
Пароль должен соответствовать минимальным требованиям:
- минимальная длина: 8 → Я просто использую 'minlength: 8'
- как минимум один строчный символ
- как минимум одна цифра
- Разрешенные символы: A-Z a-z 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>