मैं पीटर मोर्टेंसन को जवाब दूंगा, लेकिन मेरे पास पर्याप्त प्रतिष्ठा नहीं है।
उनकी अभिव्यक्तियाँ निर्दिष्ट न्यूनतम आवश्यकताओं में से प्रत्येक के लिए एकदम सही हैं। विशेष वर्णों की आवश्यकता नहीं है कि उनके भावों के साथ समस्या यह है कि वे विशेष वर्ण भी नहीं बनाते हैं, इसलिए वे अधिकतम आवश्यकताओं को भी लागू करते हैं, जो मुझे विश्वास नहीं है कि ओपी ने अनुरोध किया है। आम तौर पर आप अपने उपयोगकर्ताओं को उनके पासवर्ड को उतना ही मजबूत बनाने की अनुमति देना चाहते हैं जितना वे चाहते हैं; क्यों मजबूत पासवर्ड प्रतिबंधित?
तो, उनके "न्यूनतम आठ अक्षर, कम से कम एक अक्षर और एक संख्या" अभिव्यक्ति:
^(?=.*[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,}
विशिष्ट विशेष वर्णों को अनुमति देने के लिए।