验证邮箱、url或者ip,除了使用正则外,也可以使用内置的函数库过滤器filter来完成这些功能。
filter_var
(PHP 5 >= 5.2.0, PHP 7)
filter_var — 使用特定的过滤器过滤一个变量
php验证邮箱
<?php
$email = '123456@qq.com';
$result = filter_var($email, FILTER_VALIDATE_EMAIL);
var_dump($result); // 返回 "123456@qq.com"
php验证url地址
<?php
$url = "http://www.fyunw.com";
$result = filter_var($url, FILTER_VALIDATE_URL);
var_dump($result); // 返回 "http://www.fyunw.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手册。
http://php.net/manual/zh/function.filter-var.php