可能重复:
在 php 中验证电子邮件
如果用户填写了表单字段,如何验证电子邮件(如果字段未修改,则不验证)?
例子:
if ($formemail ="" ) /* user DIDN'T enter email/not filled up email field */
{
/* do not validate and do not =mail($,$,$,$) */
}
但是如果字段被修改,那么验证它是否正常然后 =mail($,$,$,$)
可能重复:
在 php 中验证电子邮件
如果用户填写了表单字段,如何验证电子邮件(如果字段未修改,则不验证)?
例子:
if ($formemail ="" ) /* user DIDN'T enter email/not filled up email field */
{
/* do not validate and do not =mail($,$,$,$) */
}
但是如果字段被修改,那么验证它是否正常然后 =mail($,$,$,$)
您可以使用 HTML5 属性来完成这项工作。
<input type="text" class="email" email="email" required />
required 属性确保该字段具有某些值,并且 email 属性检查该值是否为电子邮件。:)
只需这样做:
if($formemail != ""){
//validate and send
}
这里不需要 else 语句。
试试这个(来自http://www.linuxjournal.com/article/9585):
function checkEmail($email) {
if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email)) {
return true;
}
return false;
}
if (!empty($formemail) && checkEmail($formemail)) {
//Mail it!
}