हमें एक JavaScript फ़ंक्शन लिखना है जो पहली और एकमात्र आर्गुमेंट के रूप में एक पासवर्ड स्ट्रिंग लेता है।
तब फ़ंक्शन को true लौटाना चाहिए, यदि पासवर्ड स्ट्रिंग:
- कम से कम 6 वर्ण लंबी और अधिकतम 20 वर्ण लंबी हो
- कम से कम एक अंक हो
- कम से कम एक लोअरकेस अंग्रेजी वर्ण हो
- कम से कम एक अपरकेस अंग्रेजी वर्ण हो
- कम से कम एक विशेष वर्ण हो। विशेष वर्ण हैं: !@#$%^&*()-+
उदाहरण
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));
आउटपुट
true false