Peter Mortensen'e cevap verirdim, ama yeterince itibarım yok.
İfadeleri, belirtilen minimum gereksinimlerin her biri için mükemmeldir. Özel karakter gerektirmeyen ifadeleriyle ilgili sorun, özel karakterleri İZİN VERMEMEKTEDİR, bu nedenle OP'nin talep ettiğine inanmadığım maksimum gereksinimleri de zorlarlar. Normalde kullanıcılarınızın şifrelerini istedikleri kadar güçlü yapmalarına izin vermek istersiniz; neden güçlü parolalar kısıtlanmalı?
Yani, "en az sekiz karakter, en az bir harf ve bir sayı" ifadesi:
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
minimum gereksinimi karşılar, ancak kalan karakterler yalnızca harf ve rakam olabilir. Özel karakterlere izin vermek (ancak zorunlu değil) için aşağıdakine benzer bir şey kullanmalısınız:
^(?=.*[A-Za-z])(?=.*\d).{8,}$
herhangi bir karaktere izin vermek
veya
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d$@$!%*#?&]{8,}$
belirli özel karakterlere izin vermek için
Benzer şekilde, "en az sekiz karakter, en az bir büyük harf, bir küçük harf ve bir sayı:"
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
bu minimum gereksinimi karşılar, ancak yalnızca harf ve sayılara izin verir. kullanın:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$
herhangi bir karaktere izin vermek
veya
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d$@$!%*?&]{8,}
belirli özel karakterlere izin vermek için.