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

PHP
Copy

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

咦?看到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

PHP
Copy

根据打印的结果可知;判断是否是url的规则就是要有http://后边要跟一个字母数字即可;
当然;顺理成章;第二个参数传FILTER_VALIDATE_IP的时候就是验证是否是ip地址了;
filter_var很强大的样子;那传个FILTER_VALIDATE_PHONE 是不是就可以验证手机号了?
恩恩;;;答案是否定的;你想多了;

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


当前名称:filter_var()验证邮箱、ip、url的格式php
本文链接:http://hbruida.cn/article/cgicpg.html