เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงรหัสผ่านเป็นอาร์กิวเมนต์แรกและตัวเดียว
จากนั้นฟังก์ชันควรคืนค่า จริง หากสตริงรหัสผ่าน −
-
มีความยาวอย่างน้อย 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