Autor Zpráva
Jeklíček
Profil *
Začínám a neumím odladit jeden regulární výraz v Javascriptu ( RegExp ).

Potřeboval bych kontrolovat zadávací políčko input, když je rovno nějakému číslu v rozsahu 0 - 100 (0,1,2,3, až 100) pokračovat... když nikoliv hodit hlášku alert.
Tak aby neprošly mezery, ani čísla typu "009".
Jak to mám zapsat? díky J.
Tori
Profil
Jeklíček:
Na tohle vám imho stačí převod řetězce na celé číslo a jedna podmínka. Viz funkce parseInt (česky na jpw)
peta
Profil
... onchange=porovnej(this)...
function porovnej(obj)
{
var v = obj.value *= 1;
v = 0<=v && v<=100 ? v : 0;
obj.value = v;
}

ale jestli trvas na regularu...
/^[0-9]|[1-9][0-9]|[1-9][1-9][0-9]$/
[0-9] | [1-9][0-9] | [1-9][1-9][0-9]
Radek9
Profil
peta:
To je zbytečně složitej regulár, jde to napsat takhle:
/^[1-9]{0,2}\d$/
peta
Profil
Radek9:
http://www.regexp.cz/index.php
1 = ^[1-9]{0,2}\d$
2 = 100
4 = javascript
Neprojde pres 100.

Pravda, ale, mam tam chybu.
^[0-9]|[1-9][0-9]|[1-9][0-9][0-9]$
Radek9
Profil
peta:
Pravda. V tom případě takto:
/^(\d|[1-9]\d{1,2})$/
Tvoje řešení by se muselo neustále zvětšovat při zvyšování počtu cifer. U mého stačí jen upravit jednu číslici.

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: