早年使用php的时候还不知道有filter这玩意,那时候判断邮箱、url和ip地址格式是否符合都是用正则表达式。后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库filter来完成这些功能。
1、验证邮箱
先来看原始的正则验证
代码如下 | 复制代码 |
function isEmail($email){ |
再看filter这玩意
代码如下 | 复制代码 |
$email = '[email protected]'; $result = filter_var($email, FILTER_VALIDATE_EMAIL); var_dump($result); //string(14) "[email protected]" |
对于filter_var这个函数,如果验证通过则会返回验证对象,否则返回false。
感觉后者更简单一些哦
2、验证url地址
正则验证
代码如下 | 复制代码 |
$url = 'www.111com.net'; |
filter_var函数
代码如下 | 复制代码 |
$url = "http://www.111com.net"; $result = filter_var($url, FILTER_VALIDATE_URL); var_dump($result); //string(22) "http://www.111com.net" |
3、验证ip地址
正则验证函数
代码如下 | 复制代码 |
/**
|
此函数验证
代码如下 | 复制代码 |
$url = "192.168.1.110"; $result = filter_var($url, FILTER_VALIDATE_IP); var_dump($result); //string(13) "192.168.1.110" |
值的一提的是,这方法也可以用来验证ipv6。
代码如下 | 复制代码 |
$url = "2001:DB8:2de::e13"; $result = filter_var($url, FILTER_VALIDATE_IP); var_dump($result); //string(17) "2001:DB8:2de::e13" |
验证数值是否为整数,并且在一个整数区间内
代码如下 | 复制代码 |
$result = filter_var( $i, FILTER_VALIDATE_INT, //设定校验的数值范围 array( 'options' => array('min_range' => 1, 'max_range' => 100) ) ); var_dump($result);//bool(false) |
php的变量是弱类型,如果不用过滤器,直接使用大于小于符号判断的话会是真的。
代码如下 | 复制代码 |
$result = $i >= 1 && $i <= 100; var_dump($result);//bool(true) |
5、验证浮点数
代码如下 | 复制代码 |
$result = filter_var($float, FILTER_VALIDATE_FLOAT); var_dump($result); //float(12.312) |
在做一些金额方面的验证时,经常需要验证金额是否为浮点数。
总结
php中的filter过滤器虽然比较冷门,但是功能还是蛮强大的。除了上述这些功能外,还有一些过滤输入的功能,可查阅php手册。
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮