আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি পাসওয়ার্ড স্ট্রিং প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে গ্রহণ করবে।
ফাংশনটি true রিটার্ন করবে যদি পাসওয়ার্ড স্ট্রিং —
- কমপক্ষে ৬ ক্যারেক্টার দৈর্ঘ্যের এবং সর্বোচ্চ ২০ ক্যারেক্টার দৈর্ঘ্যের হয়
- কমপক্ষে একটি ডিজিট (digit) ধারণ করে
- কমপক্ষে একটি ছোট হাতের ইংরেজি ক্যারেক্টার ধারণ করে
- কমপক্ষে একটি বড় হাতের ইংরেজি ক্যারেক্টার ধারণ করে
- কমপক্ষে একটি স্পেশ্যাল ক্যারেক্টার ধারণ করে। স্পেশ্যাল ক্যারেক্টারগুলো হলো: !@#$%^&*()-+
উদাহরণ
কোডটি নিচে দেওয়া হলো —
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