Slaptažodžio regeksą turi sudaryti ne mažiau kaip aštuoni simboliai, bent vienas skaičius, mažosios ir didžiosios raidės bei specialieji simboliai.
Noriu, kad tai patikrintų reguliarioji išraiška:
slaptažodį sudaro ne mažiau kaip aštuoni simboliai, įskaitant bent vieną skaičių, ir jame yra mažųjų ir didžiųjų raidžių bei specialiųjų simbolių, pavyzdžiui, #
, ?
, !
.
Tai negali būti jūsų senasis slaptažodis arba jame negali būti jūsų vartotojo vardo, "slaptažodžio"
arba "tinklalapio pavadinimo"
.
O čia yra mano patvirtinimo išraiška, kurioje yra aštuoni simboliai, įskaitant vieną didžiąją raidę, vieną mažąją raidę ir vieną skaičių arba specialųjį simbolį.
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
Kaip galėčiau užrašyti, kad gairę turi sudaryti aštuoni simboliai, įskaitant vieną didžiąją raidę, vieną specialųjį simbolį ir skaitmeninį ženklą?
361
3
Ne mažiau kaip aštuoni simboliai, bent viena raidė ir vienas skaičius:
Ne mažiau kaip aštuoni ženklai, bent viena raidė, vienas skaičius ir vienas specialusis simbolis:
Ne mažiau kaip aštuoni ženklai, bent viena didžioji raidė, viena mažoji raidė ir vienas skaičius:
Ne mažiau kaip aštuoni ženklai, bent viena didžioji raidė, viena mažoji raidė, vienas skaičius ir vienas specialusis ženklas:
Mažiausiai aštuoni ir daugiausiai dešimt ženklų, bent viena didžioji raidė, viena mažoji raidė, vienas skaičius ir vienas specialusis simbolis:
Šią regeksą galite naudoti su keliais lookahead assertions (conditions):
Šis regeksas užtikrins šių taisyklių vykdymą:
(?=.*?[A-Z])
(?=.*?[a-z])
(?=.*?[0-9])
(?=.*?[#?!@$%^&*-])
.{8,}
(su inkarais)Tik nedidelis patobulinimas @anubhava's atsakymas: Kadangi specialieji simboliai yra tik tie, kurie yra klaviatūroje, naudokite tai bet kokiam specialiajam simboliui:
^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$
Šis regeksas užtikrins šių taisyklių vykdymą: