Autor Zpráva
UrbiCZ
Profil
Čau. Proč mi to hází true? Pochopil jsem správně, že omezení řetězce je jen na 3 znaky? Když mám 4, tak pořád hází true...kde je chyba? Díky za radu.

http://jsfiddle.net/NhsKx/
Kcko
Profil
Ten výraz si musíš "ukotvit", nebo jak to nazvat. Výraz vyhoví protože tam jsou 3 čísla. Pokud to napíšeš takhle tak to bude fungovat.
A navíc i to má být číslo ne string.

http://jsfiddle.net/NhsKx/1/
UrbiCZ
Profil
A jo, tak tohle jsem se nedočetl nikde. Chápu to. Díky moc....
UrbiCZ
Profil
Proč tento výraz hází false?

var vyraz = /^[A-Z]{2}[0-9]{2}[0-9]{20}$/;
      console.log(vyraz.test("CZ"+1213131313131313131313));
ShiraNai7
Profil
UrbiCZ:
Protože "CZ"+1213131313131313131313 se převede na "CZ1.2131313131313132e+21".

Tohle vrací true.
console.log(vyraz.test("CZ"+"1213131313131313131313"));
Chamurappi
Profil
Reaguji na UrbiCZ:
Protože mu řetězec "CZ1.2131313131313132e+21" neodpovídá.

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: