webForumDet fria alternativet

regex: strong password

7 svar · 427 visningar · startad av Dino

DinoMedlem sedan sep. 20011 914 inlägg
#1

Har ett expression som är taget från regexlib och modifierat för mina behov. Har testat det i två regex editorer och det fungerar fint där. Men det vill inte fungera i javascript. Någon som vet varför?

<html><head>
<script language="javascript">
function checkPassword()
{
   var pass = document.getElementById("tbContent").value;
   if (!new RegExp("^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[#!=_])(?!.*[^a-zA-Z0-9#!=_]).{6,12}$").test(pass)){
      alert("Bad password: " + pass);
   }else{ 
      alert("Good password: " + pass);
   }
}
</script>
</head><body>
<textarea id="tbContent" rows="15" cols="60"></textarea>
<input type="button" value="Testa lösenord" onclick="checkPassword()" />
</body></html>
DinoMedlem sedan sep. 20011 914 inlägg
#2

Kanske skall säga att jag vill att den skall kolla så att det finns minst en bokstav, minst en siffra och minst ett specialtecken och alltihop måste vara mellan 6-12 tecken.

Testade lite och såg att den faktiskt accepterar:
!2aaaaaaa

Men inte:
aaaaaaa!2

???

spangoMedlem sedan juni 20008 205 inlägg
#3

För mig funkar det?

DinoMedlem sedan sep. 20011 914 inlägg
#4

Hmm, verkar ha med webbläsaren att göra. Testade nu i Firefox och det fungerade fint, men inte i IE7. Var det Firefox du använde?

spangoMedlem sedan juni 20008 205 inlägg
#5

Japp, det var det.

DinoMedlem sedan sep. 20011 914 inlägg
#6

Ok, postar vidare till Microsoft för att försöka få reda på om det är någon bugg eller "by design".

Iaf, om det är någon som har ett expression som fungerar som ovan skall fast utan "assertions" (?=, ?!...) så är jag tacksam.

GlitterMedlem sedan juli 2003465 inlägg
#7

Använder inte IE document.all istället för document.getElementById?
Testa att skriva:

var pass = document.all ? document.all["tbContent"].value : document.getElementById("tbContent").value;
colioneMedlem sedan juni 20014 421 inlägg
#8

Nej.
Eller; man kan använda det också i IE, men IE stödjer getElementById sedan länge.

129 ms totalt · 3 externa anrop · v20260731065814-full.b943c234
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)