PHP实现数据过滤不用正则还有哪些方法
Admin 2022-11-17 群英技术资讯 481 次浏览
在对用户输入数据进行过滤时通常都是自己写方法进行判断
比如验证邮箱的时候使用正则表达式
$pattern = "/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/"; if (!preg_match($pattern, $email)) { throw new \Exception(self::ERROR_PARAMETER_EMPTY . '_邮件格式有误:' . $email); }
如果不用正则还有其它跟简单的方法吗?
filter_has_var(type, variable) 是否存在指定类型的变量。
filter_input 从脚本外部获取输入,并进行过滤。
filter_input_array 从脚本外部获取多项输入,并进行过滤。
filter_var 获取一个变量,并进行过滤。
filter_var_array 获取多项变量,并进行过滤。
判断$_GET 的结果是否包含name
if(!filter_has_var(INPUT_GET, "name")) { echo("name 不存在"); } else { echo("name 存在"); }
看一个验证邮箱的例子
if (!filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL)) { echo "E-Mail is not valid"; } else { echo "E-Mail is valid"; }
对整个input源进行过滤
$filters = array ( "name" => array ( "filter"=>FILTER_CALLBACK, "flags"=>FILTER_FORCE_ARRAY, "options"=>"ucwords" ), "age" => array ( "filter"=>FILTER_VALIDATE_INT, "options"=>array ( "min_range"=>1, "max_range"=>120 ) ), "email"=> FILTER_VALIDATE_EMAIL, ); print_r(filter_input_array(INPUT_POST, $filters));
不需要input源,直接对值进行过滤
if(!filter_var("someone@example....com", FILTER_VALIDATE_EMAIL)) { echo("E-mail is not valid"); } else { echo("E-mail is valid"); }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Swoole Client类用于实现客户端功能,并增加异步非阻塞模式,让用户在客户端也能使用事件循环。作为客户端使用,Swoole Client可以在FPM环境下或 Apache中使用,但不允许使用Async异步模式,只能使用同步非阻塞模式
本篇文章带大家深入解析PHP中的 "? :" 运算符(三元表达式),看看它的作用,要如何使用,效果如何?希望对大家有所帮助!
今天小编就为大家分享一篇Laravel使用模型实现like模糊查询的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
注:魔术引号特性已自PHP5.3.0起废弃并将自PHP5.4.0起移除。什么是魔术引号当打开时,所有的 '(单引号),
具体问题描述则是“如何编写一个 PHP 程序来计算由平面上三个给定点构成的圆的半径和中心坐标 (x, y)”?下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008