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
Vyhledávání
Základy
Zajímavosti
DOM
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.