Parola için regex en az sekiz karakter, en az bir sayı ve hem küçük hem de büyük harfler ve özel karakterler içermelidir

Bunu kontrol etmek için düzenli bir ifade istiyorum:

Bir parola, en az bir sayı dahil olmak üzere en az sekiz karakter içerir ve hem küçük hem de büyük harfleri ve özel karakterleri içerir, örneğin #, ?, !.

Eski parolanız olamaz veya kullanıcı adınızı, "password" veya "websitename" içeremez.

Ve işte bir büyük harf, bir küçük harf ve bir sayı veya özel karakter dahil olmak üzere sekiz karakter için doğrulama ifadem.

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

Parola bir büyük harf, bir özel karakter ve alfanümerik karakterler olmak üzere sekiz karakterden oluşmalıdır** için nasıl yazabilirim?

En az sekiz karakter, en az bir harf ve bir rakam:

"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"

En az sekiz karakter, en az bir harf, bir rakam ve bir özel karakter:

"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$"

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,}$"

En az sekiz karakter, en az bir büyük harf, bir küçük harf, bir sayı ve bir özel karakter:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"

En az sekiz, en fazla 10 karakter, en az bir büyük harf, bir küçük harf, bir sayı ve bir özel karakter:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$"
Yorumlar (22)

Bu regex'i birden fazla lookahead assertions (conditions) ile kullanabilirsiniz:

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$

Bu regex bu kuralları uygulayacaktır:

  • En az bir büyük harf İngilizce harf, (?=.*?[A-Z])
  • En az bir küçük İngilizce harf, (?=.*?[a-z])
  • En az bir rakam, (?=.*?[0-9])
  • En az bir özel karakter, (?=.*?[#?!@$%^&*-])
  • En az sekiz uzunlukta .{8,} (ankrajlarla birlikte)
Yorumlar (36)

Sadece @anubhava'nın cevabı için küçük bir iyileştirme: Özel karakterler klavyedekilerle sınırlı olduğundan, bunu herhangi bir özel karakter için kullanın:

^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$

Bu regex bu kuralları uygulayacaktır:

  • En az bir büyük İngilizce harf
  • En az bir küçük harfli İngilizce harf
  • En az bir rakam
  • En az bir özel karakter
  • En az sekiz uzunlukta
Yorumlar (3)