http://www.fengdingbo.com/php-filter-email-url-ip.html
以前使用php的时候还不知道有过滤器filter这玩意,那时候判断邮箱、url和ip地址格式是否符合都是用正则表达式。后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库过滤器filter来完成这些功能。
对于filter_var这个函数,如果验证通过则会返回验证对象,否则返回false。
php验证邮箱
<?php
$email = 'fengdingbo@gmail.com';
$result = filter_var($email, FILTER_VALIDATE_EMAIL);
var_dump($result); // string(20) "fengdingbo@gmail.com"
php验证url地址
<?php
$url = "http://www.fengdingbo.com";
$result = filter_var($url, FILTER_VALIDATE_URL);
var_dump($result); // string(25) "http://www.fengdingbo.com"
php验证ip地址
<?php
$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"
php中的filter过滤器虽然比较冷门,但是功能还是蛮强大的。除了上述这些功能外,还有一些过滤输入的功能,可查阅php手册。