Autor | Zpráva | ||
---|---|---|---|
Měsíček Profil |
#1 · Zasláno: 29. 11. 2007, 16:18:07
Vím, že se to tu už řešilo, ale nemohl jsem to najít a stránky, které se tím zabývají mi taky moc nepomohly .. potřeboval bych udělat regulérní výraz pro zkontrolování e-mailů přičemž podmínky by byly takové :
1.) 1 slovo by mohlo být složeno z Velkých i malých písmen a číslic délka maximálně 25 znaků 2.) pak by byl @ 3.) 2 slovo by mohlo být složeno z Velkých i malých písmen a číslic délka maximálně 20 znaků 4.) dále by byla tečka 5.) a nakonec by byla přípona o velikosti maximálně 3 písmen a minimálně dvou (nesmí být číslice) mohl bych poprosit jestli by mi někdo z Vás řekl výsledek ? Vážně jsem hledal, ale nenašel jsem nikde uspokojivou odpověď .. jinak všem již dopředu děkuji :-) |
||
Měsíček Profil |
#2 · Zasláno: 29. 11. 2007, 16:25:05 · Upravil/a: Měsíček
jinak vše co jsem dokázal vykutit je tohle :
ereg("[a-zA-Z0-9]+@+[a-zA-Z0-9]+.[a-zA-Z]", $email) ale pořád nechápu jak udělat třeba maximum 20 znaků atd... jinak tento had mi povolí klidně i xxxxxx@xx.xx44444 |
||
Str4wberry Profil |
#3 · Zasláno: 29. 11. 2007, 16:27:20
Odpovídám Měsíčkovi:
„5.) a nakonec by byla přípona o velikosti maximálně 3 písmen a minimálně dvou (nesmí být číslice)“ Není to pro e-mail trochu nešikovné a omezující? |
||
Bubák Profil |
#4 · Zasláno: 29. 11. 2007, 16:28:54 · Upravil/a: Bubák
Na doméně třeba "info" nesmí být maily?
A co: mesicek-1.nejchytrejsi@1moje-adresa.cz |
||
Měsíček Profil |
#5 · Zasláno: 29. 11. 2007, 16:30:28
mohly by jste mi prosím napsat ten regulérní výraz ? Potom podle možností bych mohl změnit 3 na 4 ..
|
||
nightfish Profil |
#6 · Zasláno: 29. 11. 2007, 16:33:57
určitý počet opakování se definuje pomocí {min,max}
např. tedy [a-zA-Z]{3,20} a jinak tedy jde o výrazy regulární, ne regulérní |
||
Měsíček Profil |
#7 · Zasláno: 29. 11. 2007, 16:41:55
nightfish :
tak proč mi u tohohle prošlo : ereg("[a-zA-Z0-9]+@+[a-zA-Z0-9]+.[a-zA-Z]{2,3}", $email) tohle : xxxxxxxxx@xxxxxxxxxx.xxxxxxxxxxxxx ? jinak jaký je rozdíl mezi regulárním a regulérním ? |
||
Měsíček Profil |
#8 · Zasláno: 29. 11. 2007, 16:55:36
no tak přišel jsem na tohle :
[a-z]{2,4} na tohle ohled nebere [a-z]{2,4}$ na tohle už ano .. takže zatím mám : ereg("[a-zA-Z0-9]+@+[a-zA-Z0-9]+.[a-zA-Z]{2,4}$",$email); šlo by to ještě vylepšit ? |
||
DJ Miky Profil |
#9 · Zasláno: 29. 11. 2007, 16:57:44
Nemáš tam kotvení na začátek ( ^ ) a konec ( $ ).
jinak jaký je rozdíl mezi regulárním a regulérním ? Regulérní výrazy v PHP nejsou :-). |
||
Měsíček Profil |
#10 · Zasláno: 29. 11. 2007, 17:03:31
(!ereg("^[a-zA-Z0-9]+@+[a-zA-Z0-9]+.[a-zA-Z]{2,4}$", $email) dobrá jak mám tedy udělat omezení i pro ten první ? tam když dám {2,5} tak mi to vypíše chybu a nebo mi to nepovolí .. jak to má být správně ?
|
||
Retal Profil |
#11 · Zasláno: 29. 11. 2007, 17:28:48
- proč je plusko za zavináčem?
- bacha na tečky, zachycují všechno, ne jen tečku - e-mail může být na subdoméně - doménová koncovka může mít více než 4 znaky - doménové jméno může obsahovat diakritiku - bacha na nenažranost kvantifikátorů |
||
Měsíček Profil |
#12 · Zasláno: 29. 11. 2007, 18:11:59
PROSÍM mohly by jste mi ukázat hotové řešení ??
|
||
Timy Profil |
#13 · Zasláno: 29. 11. 2007, 18:44:46 · Upravil/a: Timy
Bubák
„Na doméně třeba "info" nesmí být maily?“ Jo, .info, ale co třeba .museum? ;-) Měsíček http://www.regularnivyrazy.info/email.html Myslím, že když tam doděláš délky jednotlivých jmen (i když nevím, proč délku omezovat), mohlo být to být funkční. Ale je fakt, že to řešení nebere v úbahu některé Retalovy postřehy. „jinak jaký je rozdíl mezi regulárním a regulérním ?“ Asi stejný rozdíl, jako mezi jahodovou zmrzlinou a jahedovou zmrzlinou. |
||
Měsíček Profil |
#14 · Zasláno: 29. 11. 2007, 18:51:50
to ste mi pomohly ... mě jde o to, že {2,10} tam nemohu u všeho použít prostě mi to nevezme a tak vás jak pako prosím o to, aby jste mi ukázali jak je to správně a je zde už 13 příspěvků a žádná kloudná odpověď na základní otázku jinak z té stránky co jsi mi odkázal jsem udělal jádro ..
|
||
nightfish Profil |
#15 · Zasláno: 29. 11. 2007, 19:56:28
ereg("^[a-zA-Z0-9]{1,25}@[a-zA-Z0-9]{1,20}\.[a-zA-Z]{2,4}$", $email) jinak pokud napíšeš, že ti to nefunguje, tak napiš jaký řetězec to bere/nebere |
||
Měsíček Profil |
#16 · Zasláno: 29. 11. 2007, 20:47:37
Nightfish : děkuji ti tohle jsem hledal od začátku :-)
Jinak skript pro ty kdo to do budoucna budou hledat jako já : ====================================================================== === <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="POST"> Zadej e-mail pro zkontrolování : <input type="text" name="email"> <input type="submit" name="OK"> </form> <?php if(isset($_POST["OK"])){ if(!ereg("^[a-zA-Z0-9]{1,25}@[a-zA-Z0-9]{1,20}.[a-zA-Z]{2,4}$", $_POST["email"])){ echo("Vaše e-mailová adresa je špatně."); } else{ echo("Vaše e-mailová adresa je dobře."); } } ?> ====================================================================== === |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0