簡體   English   中英

FILTER_VALIDATE_EMAIL錯誤

[英]Error with FILTER_VALIDATE_EMAIL

由於某些原因,我不清楚,我無法在我的網站上使用此代碼:當我使用它時, php表單不會加載。

<?php
$email = "john.doe@example.com";
$email = (filter_var($email, FILTER_SANITIZE_EMAIL));       
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
    echo("$email is a valid email address");
} else {
    echo("$email is not a valid email address");
}

這個可以工作,但是沒有時不會出錯. 電子郵件中@之后,因此下面的電子郵件經過驗證

$email = "john.doe@examplecom";
$email = (filter_var($email, FILTER_SANITIZE_EMAIL));

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo("$email is a valid email address");
} else {
    echo("$email is not a valid email address");
}
?>

如何獲取表格以僅驗證帶有@和a的電子郵件. @

編輯:

        $authorEmail = (filter_var($_POST['formEmail'], FILTER_SANITIZE_EMAIL));
        if (!(filter_var($authorEmail, FILTER_VALIDATE_EMAIL))){
            $emailError = true;
            $hasError = true;
        } else{
            $formEmail = $authorEmail;
        };

您不應嘗試執行過於嚴格的驗證。 您的第二個示例( “ john.doe@examplecom” )是根據相關RFC標准(5321、5322和6531)的有效電子郵件地址。 其他有效的電子郵件地址包括:

  • “()<> []:,; @ \\\\”!#$%&'* +-/ =?^ _`{} | 〜.a“ @ example.org
  • user @ [IPv6:2001:db8 :: 1]
  • user @ com

這個必須作為代碼發布,因為它包含了許多奇怪的字符:

#!$%&'*+-/=?^_`{}|~@example.org

來自電子郵件Wiki的示例

與RFC兼容的本地驗證系統最接近的是使用瘋狂復雜的regex: 像這樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM