Computer >> Máy Tính >  >> Lập trình >> Javascript

Xác thực mật khẩu bằng JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy chuỗi mật khẩu làm đối số đầu tiên và duy nhất.

Khi đó, hàm phải trả về true, nếu chuỗi mật khẩu -

  • dài ít nhất 6 ký tự và dài nhiều nhất 20 ký tự

  • chứa ít nhất một chữ số.

  • chứa ít nhất một ký tự tiếng Anh viết thường.

  • chứa ít nhất một ký tự tiếng Anh viết hoa.

  • chứa ít nhất một ký tự đặc biệt. Các ký tự đặc biệt là:! @ # $% ^ &* () - +

Ví dụ

Mã cho điều này sẽ là -

const valid = '12Aatab@';
const invalid = '1234ASD+';
const validatePassword = (str = '') => {
   const { length: l } = str;
   const strArr = str.split('');
   if(l < 6 || l > 20){
      return false;
   };
   const specialCharacters = '!@#$%^&*()-+';
   const alphabets = 'abcdefghijklmnopqrstuvwxyz';
   const numbers = '0123456789';
   const checkWith = (char, set) => set.includes(char);
   const containsSpecialCharacter = strArr.some(char => checkWith(char, specialCharacters));
   const containsLowercase = strArr.some(char => checkWith(char, alphabets));
   const containsUppercase = strArr.some(char => checkWith(char, alphabets.toUpperCase()));
   const containsNumber = strArr.some(char => checkWith(char, numbers));
   return containsSpecialCharacter && containsLowercase && containsUppercase && containsNumber;
};
console.log(validatePassword(valid));
console.log(validatePassword(invalid));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

true
false