Autor Zpráva
Pilgrim
Profil
Ahoj,
mám menší dotaz. Používám skript:

function alfanumeric(eX,diacritic)
{
test=getkey(eX);
set1=(test>32 && test<48);
set2=(test>57 && test<65);
set3=(test>90 && test<97);
if (diacritic == 1)
set4=(test>122 && test<127);
else
set4=(test>122)
if (set1 || set2 || set3 || set4)
return false;
}

který mi povolí pouze alfanumerické znaky v textboxu, ale potřeboval bych, aby mi povolil i podtržítka a tečky popřípadně.
Víte jak na to?

Děkuji
peta
Profil
Nejlepe regularni vyraz, viz
jakpsatweb - javascript - priklady - regularni...
[-_.A-Za-z0-9]
[-_.w] //s diakritikou
jakpsatweb - javascript - objekt string/window
prevod keycode->chr() , tusim charAt nebo inverzni funkce.

nebo si proste dej pod radek:
test=getkey(eX);
alert(test)
a najdi si kod klavedy podtrzitko, tecka
Pilgrim
Profil
peta: Díky.

Zápis javascriptu, který povolí vypsání do texboxu pouze alfanumerické znaky, _ (podtržítko), - (pomlčka) a . (tečka). Dále zakáže mezery.

function alfanumeric(eX,diacritic)
{
test=getkey(eX);
set1=(test>31 && test<45);
set2=(test>46 && test<48);
set3=(test>57 && test<65);
set4=(test>90 && test<95);
set5=(test>95 && test<97);
if (diacritic == 1)
set6=(test>122 && test<127);
else
set6=(test>122)
if (set1 || set2 || set3 || set4 || set5 || set6)
return false;
}

Funkce v inputu:
<input type="text" onkeypress="return alfanumeric(event,0);" />

Ideální funkce pro registraci přezdívek, tak jako to mám já.
peta
Profil
Pilgrim
Tak v tom pripade bych tam dal regularni vyraz s prevodem, resp odmazavanim znaku. Porovnat cele value pri stisku klavesy a odmazat z nej vsechny neplatne znaky.
Nebo prevest na platne.
Urcite bych pouzil 1, nechtelo by se mi to podminkovat IFem :)

x.value.replace(/[^-_a-zA-Z0-9]/g,"");
x.value.replace(/[^-_\w0-9]/g,""); // s diakritikou
x.value.replace(/[^-_\w\d]/g,""); // s diakritikou
x.value.replace(/[^-_]|\W\D/g,""); // s diakritikou
Pilgrim
Profil
peta:
Tenhle regulérní výraz zamezí vepsání zakázaných znaků do textboxu?
http://zamilujse.eu/web/registrace.php
Takhle to vypadá tak nějak.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: