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

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

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

但是对于结尾的.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'));

// 打印 ture

var_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'));// 打印 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是否定的;你想多了;

ef00ce6023edcfbbcd3ef544d861d0de.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值