JavaScript - Regulární výrazy

Regulární výrazy se využívají ve chvíli, kdy chcete stanovit obecný formát nějakého řetězce. Můžete zjistit jestli jméno zadaného souboru končí na .txt, nebo jestli je rodné číslo rozdělené na dvě části lomítkem.

Ověření e-mailové adresy

Jak ověřit, že návštěvník zadal e-mailovou adresu, která obsahuje @:

function over(){
inp=document.form.mail.value;
mail=/@/
if (mail.test(inp)==true)
window.alert("správný formát adresy");
else 
window.alert("špatně zadaná adresa")
}

Zapsali jsme regulární výraz /@/, to znamená, že e-mail má obsahovat zavináč, před ním a po něm může následovat text. Takže výraz odpovídá řetězcům: auto@auto.ht, ale také auto@auto, dokonce auto@ a co je nejhorší dokonce i samotnému @. Je nutné zapsat, že kolem zavináče je povinný text.

mail=/.+@.+/

Znak .+ vyžaduje 1 nebo více znaků kromě nového řádku. Takže adresa může vypadat takto: auto@auto.cz, simon@simon.simon, v žádném případě auto@ , nebo jen @, avšak adresa stále může vypadat takto: auto@simon, tedy bez koncového určení přípony (cz, org, net, com, sk, uk atd.). Takže obecný formát adresy vlastně je: něco@něco.něco. Stačí tedy doplnit tečku a libovolný text:

mail=/.+@.+\..+/

Ta první tečka spolu s lomítkem znamená, že výraz má obsahovat tečkz, druhá tečka patří ke znaku + a znamená tedy další text. Výraz odpovídá už jen něco@něco.něco, ale stále odpovídá i simon@simon.simon. Proto je třeba omezit délku posledního řetězce na 4 znaky (.cz, .com, .info).

Poslední +, které definovalo 1 a více, nahradíme intervalem, který definuje 2 až 4 znaky. Nutné je ještě výraz přesně ohraničit, kde má konec a kde začátek, k tomu slouží stříška a dolar (^,$).

mail=/^.+@.+\..{2,4}$/

Doufám, že nyní máte trochu představu, jak tyto výrazy fungují. Téměř stejně lze využít regulárních výrazů v PHP. Ukázka hotové skriptu:

Kontrola rodného čísla

function over(){
inp=document.form.rodne.value;
vzor=/^[0-9]{6}\/[0-9]{4}$/
if (mail.test(inp)==true)
window.alert("správný formát RČ");
else window.alert("špatně zadané RČ")
}

[0-9] - číslice
{počet znaků}
[a-z] - malá písmena
[A-C] - A, B nebo C

Další: Jak zavést do skriptu náhodu - Random



Doporučuji
Pro své weby používám *Webhosting C4: 20 GB prostoru, PHP, MySQL, e-maily, subdomény za 1200 Kč (zdarma 2 GB navíc každý rok). Více WebhostingC4.cz.
Potřebujete poradit?


Vyhledávání


Poradna

Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.

Reklama