电子邮件验证,我做对了吗?

时间:2012-01-29 08:23:53

标签: php

我正在编写一些PHP代码,我通过电子邮件验证检查结束它。有人可以检查一下并确认它是否是一个好的解决方案?

<?php
function isTrue($var) {
    return (isset($var)) ? TRUE : FALSE;
}

function len($str) {
    $i;
    for($i=0; isTrue($str[$i]); $i++) {
        /* count me */
    }
    return $i;
}

function parsMe($str) {
    $at; $dot; $isvalid=0; $isnotvalid=0;
    for ( $at=0; isTrue($str[$at]); $at++) {
        if ( $str[$at] == "@" ) {
            for ( $dot=$at+1; isTrue($str[$dot]); $dot++ ) {
                if ( $str[$dot] == "." ) $isvalid += 1;
                if ( $str[$dot] =="@" || $str[len($str)-1] == "@" || $str[len($str)-1] == "." ) {
                    die("Error email entered");
                }
            }
        }
        if ( $str[$at] != "@" ) {
            $isnotvalid+=1;
        }
    }

    /* exit cond */
    if ( $isnotvalid == len($str)  ) die("Error mail usage");
    else if ( $isvalid == 0 ) die("Error mail");
    else echo "Mail is OK ";
}

$eml = "dotdot@com.";

parsMe($eml);
?>

parsMe()会产生错误。

1 个答案:

答案 0 :(得分:12)

built in functions用于检查电子邮件的有效性:

<?php 
$email ='dotdot@com';
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
 echo "E-mail is not valid";
}else{
 echo "E-mail is valid";
}
?>