PHP实现数据过滤不用正则还有哪些方法
Admin 2022-11-17 群英技术资讯 741 次浏览
在对用户输入数据进行过滤时通常都是自己写方法进行判断
比如验证邮箱的时候使用正则表达式
$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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Error 和 Logging 函数是 PHP 核心的组成部分,它们无需安装即可使用。
PHP中怎样通过Red实现执行订单支付的定时任务?下文有详细的介绍,小编觉得挺实用的,对大家学习或工作或许有帮助,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
php中使用array_filter()函数过滤数组:1、定义,用回调函数处理数组中的各个元素;2、重点在于过滤(而不是新增)某个元素,当你处理到一个元素时,如果返回了false,那么这个元素将会被过滤掉。PS:保持了原来的索引。
我们经常使用php-fpm,但是不一定所有人都知道fpm有三种模式,今天小年就带大家了解一下fpm的三种模式,有需要的可以参考参考。
php中array_splice()移除元素:1、从数组中取出一段,返回根据 offset 和 length 参数所指定的 array 数组中的一段序列;2、 array_slice() 将忽略键名,并且是根据单元在数组中实际位置来计算的。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008