feat: 密码强度校验增强,要求大写+小写+数字

- validatePassword 从"字母+数字"升级为"大写字母+小写字母+数字"
- 拆分 pwLetter 为 pwLower([a-z]) 和 pwUpper([A-Z])
- 更新 ErrWeakPassword 错误提示
- 同步更新注册页和修改密码页的前端校验及提示文案
This commit is contained in:
2026-06-02 18:56:08 +08:00
parent abe1388f8c
commit 6aacbbab1c
5 changed files with 13 additions and 12 deletions

View File

@ -165,7 +165,7 @@
var password = passwordInput.value;
var confirm = confirmPasswordInput.value;
var emailValid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
var passwordValid = password.length >= 8 && /[a-zA-Z]/.test(password) && /\d/.test(password);
var passwordValid = password.length >= 8 && /[a-z]/.test(password) && /[A-Z]/.test(password) && /\d/.test(password);
var confirmValid = passwordValid && confirm === password;
submitBtn.disabled = !(emailValid && passwordValid && confirmValid);
}
@ -184,7 +184,7 @@
passwordInput.addEventListener('input', function () {
var v = passwordInput.value;
if (v && (v.length < 8 || !/[a-zA-Z]/.test(v) || !/\d/.test(v))) {
if (v && (v.length < 8 || !/[a-z]/.test(v) || !/[A-Z]/.test(v) || !/\d/.test(v))) {
passwordInput.classList.add('error');
passwordError.style.display = 'block';
} else {
@ -228,7 +228,7 @@
emailError.style.display = 'block';
return;
}
if (password.length < 8 || !/[a-zA-Z]/.test(password) || !/\d/.test(password)) {
if (password.length < 8 || !/[a-z]/.test(password) || !/[A-Z]/.test(password) || !/\d/.test(password)) {
passwordInput.classList.add('error');
passwordError.style.display = 'block';
return;