filter_var() 驗證郵箱、ip、url的格式 php

驗證郵箱格式的正確與否;你的第一解決方法是什麼呢?php

無論大家怎 麼[思] [考] 的;反正我首先想到的就是字符串查找看是否有@符號函數

可是對於結尾的.com或者.net 亦或者.cn等等愈來愈多的域名驗證感受棘手;
url

直到了某一天認真的研究了filter_var()函數的參數;.net

我對之前蜻蜓點水式的閱讀php文檔表示深深的慚愧;code

其實filter_var()第二個參數傳FILTER_VALIDATE_EMAIL便可驗證郵箱、略加整理就以下;
ip

/**
 * 驗證是不是郵箱
 * @param  string  $email 郵箱
 * @return boolean        是不是郵箱
 */
function is_email($email){
    if(filter_var($email,FILTER_VALIDATE_EMAIL)){
        return true;
    }else{
        return false;
    }
}

var_dump(is_email('baijunyao@baijunyao.com'));
// 打印 ture
var_dump(is_email('baijunyao.com'));
// 打印 false

經研究;這個函數驗證郵箱的規則就是要有個@符號 ;而後@符號後面還要有個英文句號. ;
文檔

咦?看到baijunyao.com;那有木有一個能夠驗證url域名的函數?字符串

恩;沒錯;有的;第二個參數傳FILTER_VALIDATE_URL就是用來驗證url的;get

/**
 * 驗證是不是url
 * @param  string  $url   url
 * @return boolean        是不是url
 */
function is_url($url){
    if(filter_var($url,FILTER_VALIDATE_URL)){
        return true;
    }else{
        return false;
    }
}

var_dump(is_url('http://baijunyao.com'));// 打印 true
var_dump(is_url('baijunyao.com'));// 打印 false
var_dump(is_url('http://a'));// 打印 true

根據打印的結果可知;判斷是不是url的規則就是要有http:// 後邊要跟一個字母數字便可;博客

固然;瓜熟蒂落;第二個參數傳FILTER_VALIDATE_IP的時候就是驗證是不是ip地址了;

filter_var很強大的樣子;那傳個FILTER_VALIDATE_PHONE 是否是就能夠驗證手機號了?

恩恩;;;da an是否認的;你想多了;

白俊遙博客

別看了;這是作文章封面圖用的;

相關文章
相關標籤/搜索