DinoMedlem sedan sep. 20011 914 inlägg 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 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
???
DinoMedlem sedan sep. 20011 914 inlägg 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?
DinoMedlem sedan sep. 20011 914 inlägg 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 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 Nej.
Eller; man kan använda det också i IE, men IE stödjer getElementById sedan länge.