Ik ben in javascript bezig met een reguliere expressie om te testen of het wachtwoord te kort, zwak, matig of sterk is.
te kort is minder dan 5 karakters
zwak is 5 karakters of meer ( alleen lowercase letters)
matig is 5 karakters of meer icm minimaal 1 ander karakter (hoofdletter, cijfer of speciaal teken ( dus: !@#$%^&*() )
sterk is vanaf 8 karakters waarvan minimaal 1 cijfer en 1 ander karakter (hoofdletter of speciaal teken).
Nu heb ik geprobeerd dit te verzamelen in een regex en ben tot het volgende gekomen:
de "te kort" en "zwak" werken. En de "sterk" werkt gedeeltelijk. Deze wil zowel een speciaal teken, als een cijfer als een hoofdletter maar dat is niet nodig zoals in de omschrijving staat.
De "matig" werkt niet ook deels omdat ik eigenlijk een "of" constructie wil maken in de regex. Dus dat hij 5 karakters bevat waarvan: OF 1 cijfer, OF 1 hoofdletter OF 1 speciaal teken.
Weet iemand van jullie hoe ik deze twee probleempjes kan verhelpen?
te kort is minder dan 5 karakters
zwak is 5 karakters of meer ( alleen lowercase letters)
matig is 5 karakters of meer icm minimaal 1 ander karakter (hoofdletter, cijfer of speciaal teken ( dus: !@#$%^&*() )
sterk is vanaf 8 karakters waarvan minimaal 1 cijfer en 1 ander karakter (hoofdletter of speciaal teken).
Nu heb ik geprobeerd dit te verzamelen in een regex en ben tot het volgende gekomen:
JavaScript:
1
2
3
4
5
6
7
8
9
| [null,"tekort","te kort"], [/^(?=.*[a-z]).{5,}$/,"zwak","zwak"], [/^(?=.*\d)(?=.*[a-z])(?=.*\d).{5,}$/,"matig","matig"], [/^(?=.*[a-z])(?=.*[A-Z]).{5,}$/,"matig","matig"], [/^(?=.*[a-z])(?=.*[\!@#\$%\^&\*\(\)]).{5,}$/,"matig","matig"], [/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=*[\!@#\$%\^&\*\(\)]).{8,}$/,"sterk","sterk"] |
de "te kort" en "zwak" werken. En de "sterk" werkt gedeeltelijk. Deze wil zowel een speciaal teken, als een cijfer als een hoofdletter maar dat is niet nodig zoals in de omschrijving staat.
De "matig" werkt niet ook deels omdat ik eigenlijk een "of" constructie wil maken in de regex. Dus dat hij 5 karakters bevat waarvan: OF 1 cijfer, OF 1 hoofdletter OF 1 speciaal teken.
Weet iemand van jullie hoe ik deze twee probleempjes kan verhelpen?