ฉันจะตอบ Peter Mortensen แต่ฉันไม่มีชื่อเสียงเพียงพอ
การแสดงออกของเขาสมบูรณ์แบบสำหรับข้อกำหนดขั้นต่ำที่ระบุแต่ละข้อ ปัญหาเกี่ยวกับการแสดงออกของเขาที่ไม่ต้องใช้อักขระพิเศษคือพวกเขาไม่อนุญาตให้ใช้อักขระพิเศษดังนั้นพวกเขาจึงบังคับใช้ข้อกำหนดสูงสุดซึ่งฉันไม่เชื่อว่า OP ร้องขอ โดยปกติคุณต้องการอนุญาตให้ผู้ใช้ของคุณทำรหัสผ่านของพวกเขาที่แข็งแกร่งตามที่พวกเขาต้องการ; เหตุใดจึงต้อง จำกัด รหัสผ่านที่รัดกุม
ดังนั้นการแสดงออกของเขา "ขั้นต่ำแปดตัวอักษรอย่างน้อยหนึ่งตัวและหนึ่งหมายเลข":
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
ประสบความสำเร็จในความต้องการขั้นต่ำ แต่ตัวอักษรที่เหลือสามารถเพียงเป็นตัวอักษรและตัวเลข หากต้องการอนุญาตให้ใช้อักขระพิเศษ (แต่ไม่จำเป็น) คุณควรใช้สิ่งต่อไปนี้:
^(?=.*[A-Za-z])(?=.*\d).{8,}$
เพื่ออนุญาตให้ใช้อักขระใด ๆ
หรือ
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d$@$!%*#?&]{8,}$
เพื่ออนุญาตให้ใช้อักขระพิเศษเฉพาะ
ในทำนองเดียวกัน "อย่างน้อยแปดตัวอักษรอย่างน้อยหนึ่งตัวอักษรตัวพิมพ์ใหญ่ตัวอักษรตัวพิมพ์เล็กหนึ่งตัวและหมายเลขหนึ่ง:"
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
ตรงตามข้อกำหนดขั้นต่ำ แต่อนุญาตเฉพาะตัวอักษรและตัวเลข ใช้:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$
เพื่ออนุญาตให้ใช้อักขระใด ๆ
หรือ
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d$@$!%*?&]{8,}
เพื่ออนุญาตให้ใช้อักขระพิเศษเฉพาะ