<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **filter_varPHP自帶數據驗證方法** >語法 filter_var(variable, filter, options) variable 必需。規定要過濾的變量。 filter 可選。規定要使用的過濾器的 ID。 options 規定包含標志/選項的數組。檢查每個過濾器可能的標志和選項。 <center> ![](https://box.kancloud.cn/2016-04-08_5707282b74ead.jpg) </center> 一個郵箱驗證的例子: PHP校驗郵箱地址的方法很多, 比較常用的就是自己寫正則了, 不過正則多麻煩, 我PHP自帶了方法做校驗。 filter_var filter_var是PHP內置的一個變量過濾的方法, 提供了很多實用的過濾器, 可以用來校驗整數、浮點數、郵箱、URL、MAC地址等。 filter_var如果返回false, 說明變量無法通過過濾器, 也就是不合法了。 ~~~ $email = "lastchiliarch@163.com"; var_dump(filter_var($email, FILTER_VALIDATE_EMAIL)); $email = "asb"; var_dump(filter_var($email, FILTER_VALIDATE_EMAIL)); $email = "1@a.com"; var_dump(filter_var($email, FILTER_VALIDATE_EMAIL)); ~~~ 輸出: ~~~ string(21) "lastchiliarch@163.com" bool(false) string(7) <a href="mailto:1@a.com">1@a.com</a> ~~~ 對于asb這種非法郵箱格式返回了false, 但對于`1@a.com`則通過了,還是略有瑕疵啊。 不過一般的正則也通過會認為`1@a.com`是一個合法的郵箱, 那有啥辦法可以更精準的驗證呢? checkdnsrr checkdnsrr其實是用來查詢指定的主機的DNS記錄的,我們可以借用它來驗證郵箱是否存在。 對于`1@a.com`肯定是MX記錄不存在的。 ~~~ $email = "lastchiliarch@163.com"; var_dump(checkdnsrr(array_pop(explode("@",$email)),"MX")); $email = "1@a.com"; var_dump(checkdnsrr(array_pop(explode("@",$email)),"MX")); ~~~ 輸出: ~~~ bool(true) bool(false) ~~~ 可以看到, 很完美, 唯一的缺點就是太慢了, 畢竟是要做一次網絡請求。 所以不適合同步對大量的郵箱采用這種做法去校驗。 filter_var+checkdnsrr 我們可以接合filter_var 和checkdnsrr做校驗, 對于絕大多數的非法郵箱肯定會在filter_var的時候就掛掉了, 剩下的再用 checkdnsrr進一步判斷。 ~~~ $email_arr = array("lastchiliarch@163.com", "1@a.com"); foreach($email_arr as $email) { if (filter_var($email) === false) { echo "invalid email: $email \n"; continue; } if(checkdnsrr(array_pop(explode("@",$email)),"MX") === false) { echo "invalid email: $email \n"; continue; } } ~~~ 輸出: `invalid email: 1@a.com` >但要注意的是, 由于只是檢查MX記錄, 所以只能判斷163.com是存在的, 但不能說明lastchiliarch這個用戶是存在的。 想要更精確的判斷郵箱存在, 那只能連接到smtp服務器去驗證了。 介紹了郵箱驗證,PHP自帶方法如何驗證郵箱、URL、IP是否合法,下面為大家介紹: 主要還是使用的是filter_var函數。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看