Home  >  Article  >  Backend Development  >  filter_var() 验证邮箱、ip、url的格式 php

filter_var() 验证邮箱、ip、url的格式 php

WBOY
WBOYOriginal
2016-06-23 13:11:521501browse

验证邮箱格式的正确与否;你的第一解决方法是什么呢?

不管你们怎 么[思] [考] 的;反正我首先想到的就是字符串查找看是否有@符号 ;

但是对于结尾的.com或者.net 亦或者.cn等等越来越多的域名验证感觉棘手;

直到了某一天认真的研究了filter_var()函数的参数;

我对以前走马观花式的阅读php文档表示深深的惭愧;

其实filter_var()第二个参数传FILTER_VALIDATE_EMAIL即可验证邮箱、略加整理就如下;

/** * 验证是否是邮箱 * @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'));// 打印 turevar_dump(is_email('baijunyao.com'));// 打印 false

经研究;这个函数验证邮箱的规则就是要有个@符号 ;然后@符号后面还要有个英文句号. ;

咦?看到baijunyao.com;那有木有一个可以验证url域名的函数?

恩;没错;有的;第二个参数传FILTER_VALIDATE_URL就是用来验证url的;

/** * 验证是否是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'));// 打印 truevar_dump(is_url('baijunyao.com'));// 打印 falsevar_dump(is_url('http://a'));// 打印 true

根据打印的结果可知;判断是否是url的规则就是要有http:// 后边要跟一个字母数字即可;

当然;顺理成章;第二个参数传FILTER_VALIDATE_IP的时候就是验证是否是ip地址了;

filter_var很强大的样子;那传个FILTER_VALIDATE_PHONE 是不是就可以验证手机号了?

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

别看了;这是做文章封面图用的;


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn