Autor Zpráva
Petrik
Profil *
Přeji dobrý večer!

Chtěl bych moc poprosit o pomoc s validací emailu. Na webu jsem našel tuhle funkci která kontroluje format a povolené znaky emailu. Problém je v tom, že bych potřeboval ošetřit, aby funkce taky ještě vrátila false, pokud bude zadán jako pvní nebo poslední znak v názvu emailu "." nebo "-" Zkoušel jsem laborovat s regulárnímy výrazy ale vůbec mi to nejde. Kdyby byl někdo tak moc hodný a mohl se na to kouknout a poradil by mi jak na to nebo to opravil. Předem moc děkuji za případnou pomoc.

function validateEmail($value) {
return (!eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$', $value)) ? false : true;
}
panther
Profil
Petrik:
Vymysli smysluplnější název vlákna, jinak bude smazáno. Čas máš do dnešní půlnoci.
GeneralDv
Profil
Dobrej název topicu :D Zhlédni http://php.vrana.cz/kontrola-e-mailove-adresy.php.
Petrik
Profil *
panther:
Jejda co to jsem to napsal? Omlouvám se. Prosím o opravu názvu na:
PHP - Oprava regulárních výrazů na kontrolu emailu

Děkuji
ShiraNai7
Profil
GeneralDv:
Dobrej název topicu :D

Jaký byl? Chci se taky zasmát :D

Petrik
Používám toto. To by mělo být správně podle většiny skutečných pravidel pro e-mailové adresy.

function emailValidate($pEmail)
    {
        return (bool)preg_match('/^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){0,126}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/i', $pEmail);
    }


Pattern je odsud.
panther
Profil
Petrik:
Děkuji za opravu titulku. I dotyčnému moderátorovi, který tak učinil.

A teď k tvé otázce, když už je správně nadepsána - filter_var.
Radek9
Profil
<ot>
ShiraNai7:
Jaký byl? Chci se taky zasmát :D
Myslím, že „Dobrý večer“.
</ot>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: