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: 4 GB prostoru, PHP, MySQL, e-maily, subdomény za 1200 Kč (zdarma 500 MB navíc každý rok). Více WebhostingC4.cz.

Vyhledávání


Reklama
Pojištění vozidel
Porovnejte si sazby zákonného pojištění vozidel online.

Reklama:

Kvalitní a spolehlivý web hosting pro každého | Jak vypadá efektivní tvorba webových stránek? Nechte si vytvořit web společností AITOM!