webForumDet fria alternativet

Fel på regexpkod. Behöver lite hjälp.

JavaScript

3 svar · 247 visningar · startad av visslaren

Medlem sedan juli 20011 222 inlägg
Frågan#1

Hej,

Har ett litet problem med ett javascript som ska validera ett formulärfält. Det fungerar bra, men när man skriver en siffra som första tecken i fältet, får scriptet för sig att nåt tecken är fel och man får felmeddelandet som står nere.
Jag skulle behöva lite hjälp med att lösa problemet då jag inte är speciellt bra på regexp saker alls.
Nån som ser nåt problem i koden?

if (eval(document.settings.new_password.value.search(/^[a-öA-Ö][a-öA-Ö0-9]{4,20}$/) < 0)) {
errms += '- Ditt nya lösenord får bara innehålla bokstäver eller siffror.\n';
errms += '- Ditt nya lösenord måste vara mellan 5 och 20 tecken långt.\n';
document.settings.new_password.style.backgroundColor='#EAE9E9';
errant = 1;
}

Tack på förhand :)

Medlem sedan dec. 20025 483 inlägg
#2
if (!/^[\wåäö]{4,20}$/i.test(document.forms["settings"].elements["new_password"].value)){
    ...
}
Medlem sedan aug. 20039 340 inlägg
#3

Det beror på att koden är utformad för att bara tillåta bpkstäver som första bokstav. Pröva detta:

/^[a-öA-Ö0-9]{5,20}$/

Moderator, flytta gärna denna tråd till regexp-forumet!

Medlem sedan juli 20011 222 inlägg
#4

Ah visstja, finns ju regexp forum numera ja. glömde bort det :)

Båda lösningarna fungerade finfint!
Stort tack! :)

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)