Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Validate mật khẩu trong JavaScript

Viết hàm kiểm tra mật khẩu hợp lệ: độ dài 6-20, có ít nhất 1 chữ số, 1 chữ thường, 1 chữ hoa, 1 ký tự đặc biệt (!@#$%^&*()-+).

Ví dụ: '12Aatab@' → true, '1234ASD+' → false (thiếu chữ thường).

Ví dụ

const valid = '12Aatab@';
const invalid = '1234ASD+';
const validatePassword = (str = '') => {
  const { length: l } = str;
  if (l < 6 || l > 20) return false;
  const special = '!@#$%^&*()-+';
  const alpha = 'abcdefghijklmnopqrstuvwxyz';
  const nums = '0123456789';
  const check = (c, set) => set.includes(c);
  const arr = str.split('');
  return arr.some(c => check(c, special)) &&
         arr.some(c => check(c, alpha)) &&
         arr.some(c => check(c, alpha.toUpperCase())) &&
         arr.some(c => check(c, nums));
};
console.log(validatePassword(valid));
console.log(validatePassword(invalid));

Kết quả

true false