无人机管理后台前端(已迁走)
张含笑
2025-11-03 63ce31150e32fafe214105afb18e1bf2eace0dc1
feat:修改密码限制
1 files modified
43 ■■■■■ changed files
src/views/system/userinfo.vue 43 ●●●●● patch | view | raw | blame | history
src/views/system/userinfo.vue
@@ -165,6 +165,29 @@
    }
    return true
}
// 校验密码不能包含中文
const validatePasswordNoChinese = (password) => {
  const chineseRegex = /[\u4e00-\u9fa5]/;
  if (chineseRegex.test(password)) {
    ElMessage.error('密码不能包含中文字符');
    return false;
  }
  return true;
};
// 校验密码复杂度(长度≥6位,包含字母和数字)
const validatePasswordStrength = (password) => {
  if (password.length < 6) {
    ElMessage.error('密码长度不能少于6位');
    return false;
  }
  // const hasLetter = /[a-zA-Z]/.test(password);
  // const hasNumber = /\d/.test(password);
  // if (!hasLetter || !hasNumber) {
  //   ElMessage.error('密码需同时包含字母和数字');
  //   return false;
  // }
  return true;
};
const passwordForm = ref({
  oldPassword: '',
  newPassword: '',
@@ -245,6 +268,26 @@
      }
    });
  } else if (checked.value === 1) {
   // 原始密码校验
    if (!passwordForm.value.oldPassword) {
      ElMessage.error('请输入原始密码');
      return;
    }
     // 中文校验
    if (!validatePasswordNoChinese(passwordForm.value.newPassword)) return;
    // 新密码校验
    if (!passwordForm.value.newPassword) {
      ElMessage.error('请输入新密码');
      return;
    }
    // 确认密码校验
    if (passwordForm.value.newPassword !== passwordForm.value.newPassword1) {
      ElMessage.error('两次输入的新密码不一致');
      return;
    }
    // 复杂度校验
    if (!validatePasswordStrength(passwordForm.value.newPassword)) return;
    updatePassword(
      md5(passwordForm.value.oldPassword),
      md5(passwordForm.value.newPassword),