webForumDet fria alternativet

Modifiera denna KeyCode lite

4 svar · 369 visningar · startad av Icebreaker

IcebreakerMedlem sedan juni 2000516 inlägg
#1

Använder denna text på en sida med ett formulär. Texten gör att man bara kan skriva in helt vanliga siffror (a-z) + siffror (0-9).

<script language="JavaScript">
function text_check()
{
if ((event.keyCode > 47 && event.keyCode < 58) || (event.keyCode > 64 && event.keyCode < 91) || (event.keyCode > 96 && event.keyCode < 123)) return true;
else return false;
}
</script>

<input type="text" name="username" onKeyPress="return text_check()">

Men nu skulle jag vilja modifiera detta lite. Jag vill att man även ska kunna skriva "å, ä, ö" "mellanslag" och " bindestreck/underline" i textrutan. Går detta att fixa?

:)

dectgapMedlem sedan sep. 20021 655 inlägg
#2

Så här kan du skriva

<script language="JavaScript">
function text_check(e)
{
	var k = e.which || e.keyCode;
	if (/[-_a-z0-9åäö ]/i.test(String.fromCharCode(k))) return true;
	else return false;
}
</script>

<input type="text" name="username" onKeyPress="return text_check(event)">
Jesper TMedlem sedan nov. 20017 144 inlägg
#3

Är inte onkeyup att föredra framför onKeyPress?

IcebreakerMedlem sedan juni 2000516 inlägg
#4

Tack! Funkar perfekt :)

dectgapMedlem sedan sep. 20021 655 inlägg
#5

Jesper T skrev:

Är inte onkeyup att föredra framför onKeyPress?

Då, vid keyup, har man redan matat in ett värde, så då är det lite sent att "förbjuda" tangenttryckningen.

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