E-mail cím ellenőrzése

Amikor regisztrálsz egy weboldalon, az oldal általában leellenőrzi, hogy a beírt e-mail címed szabályos formátumú-e. Ehhez szükségünk van egy sztringre (pl.: $email), hogy összehasonlítsuk a szabvánnyal.

1
2
3
4
5
6
7
8
9
10
11
<html>
<head><title></title></head>
<body>
 
<?php
ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$]",
$email);
?>
</b>
</body>
</html>

A szkript most csak a sztringet ($email) ellenőrzi, de semmilyen változót nem ad ki. Így egy IF függvényt kell beágyaznunk, ami – ha a sztring nem egyezik a szabványossal -, egy logikai változóval tér vissza.

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head><title></title></head>
<body>
 
<?php
if (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$]", $email));
{
return FALSE;
}
?>
</b>
</body>
</html>

Ez egy alap ellenőrző szkript, de többet is csinálunk. Most megvizsgáljuk a domain nevet a @ után, hogy valós-e. (Ezt akkor tehetjük meg, ha létezik egy MX rekord ennek a domain névnek. Ha a domain 25-ös portja nyitott, akkor a domain név használatban van.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html>
<head><title></title></head>
<body>
 
<?php
list($Username, $Domain) = split("@",$email);
if(getmxrr($Domain, $MXHost))
{
return TRUE;
}
else
{
if(fsockopen($Domain, 25, $errno, $errstr, 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
?>
</b>
</body>
</html>

Szerző: Balo

2 HOZZÁSZÓLÁS

  1. Hali. Ezt hogy tudom használni a weboldalamon egy üzenőfalnál? Nem sikerült összehoznom.

  2. SzD: Keress rá netszerte, van kismillió isValidEmail() és hasonló függvény (vagy a fentiből is össze copy-pastelhetsz egyet, bár az ereg* függvények PHP 6-tól megszűnnek, egy socketet nyitni meg felesleges szvsz.).

    BlackY

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét