Regulární výraz pro kontrolu e-mailové adresy – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Regulární výraz pro kontrolu e-mailové adresy – PHP – Fórum – Programujte.comRegulární výraz pro kontrolu e-mailové adresy – PHP – Fórum – Programujte.com

 

MisfiT0
Duch
21. 8. 2008   #1
-
0
-

Zdravím, v kurzu PHP na živě.cz je regulární výraz pro kontrolu správnosti e-mailové adresy:

@[^@]+[.][a-zA-Z]+$ 


Ale nevím, jestli ho chápu dobře...
@ - musí obsahovat zavináč, jasný
[^@] - řádek začíná zavináčem, snad jasný
+ - plus je podle kurzu znakem pro opakování, to se má jako opakovat ten zavináč? :/
[.] - fajn, musí tam být tečka
[a-zA-Z] - a za tečkou musí být nějaká písmena od a-z a od A-Z...
+$ - zas to plus? konec řádku..

Dokáže tento regulární výraz někdo rozumně vysvětlit blbovi jako jsem já? :)

Nahlásit jako SPAM
IP: 89.102.249.–
Zelenáč0
Posthunter
22. 8. 2008   #2
-
0
-

Mno, s regularnimi vyrazy jsem uz delsi dobu nepracoval, takze doufam, ze nebudu vykladat blbosti...

Nejprve je dulezite si uvedomit, ze vyraz se zabyva pouze koncem retezce (konec retezce znaci ten $). To znamena, ze pred tim prvnim zavinacem muze byt uuuuplne cokoliv.

[^@] znamena jakykoliv znak KROME zavinace
+ znaci jeden nebo vice znaku

kdyz to tedy slozis dohromady:
[^@]+ znamena jeden nebo vice znaku krome zavinace (cili to odpovida retezci "aasdkj" ci "u", ale neodpovida "asd@as" ani "prazdnemu" retezci - z toho vyplyva, ze pokud by mezi zavinacem a teckou nic nebylo, nejedna se o platnou adresu)

Je uz jasne, k cemu slouzi plus?

Vyraz

@[^@]+[.][a-zA-Z]+$
by se dal do celkem srozumitelneho jazyka prepsat nejak takhle:
cokoliv - zacatkem retezce se vyraz nezabyva

@ zavinac
[^@]+ retezec neobsahujici zavinac (domena druhe urovne)
[.] tecka
[a-zA-Z]+ retezec skladajici se z odpovidajicich znaku (TLD)

Doufam, ze jsem to srozumitelne vysvetlil ;-)

Nahlásit jako SPAM
IP: 62.24.71.–
pecan9870
Věrný člen
22. 8. 2008   #3
-
0
-

Akorát se mě [a-zA-Z]+ nějak nelíbí, co když doména na které budu mít email obsahuje čísla?

Nahlásit jako SPAM
IP: 80.78.156.–
Zelenáč0
Posthunter
22. 8. 2008   #4
-
0
-

pecan987 napsal:
Akorát se mě [a-zA-Z]+ nějak nelíbí, co když doména na které budu mít email obsahuje čísla?


Ty znas domenu prvni urovne, ktera obsahuje cisla?

Ale je pravda, ze cely vyraz neni moc promysleny - odpovida to treba "adrese" @@@@>>>.a...

Nahlásit jako SPAM
IP: 62.24.71.–
martasko0
Newbie
22. 8. 2008   #5
-
0
-

http://sk.php.net/manual/en/function.filter-var.php
od verzie 5.2.0

Nahlásit jako SPAM
IP: 84.47.48.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 43 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý