PHP实现数据过滤不用正则还有哪些方法
Admin 2022-11-17 群英技术资讯 565 次浏览
在对用户输入数据进行过滤时通常都是自己写方法进行判断
比如验证邮箱的时候使用正则表达式
$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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
什么是PHP超级全局变量?超级全局变量是在全部作用域中始终可用的内置变量。超级全局变量在PHP 4.1.0之后被启用,是PHP系统中自带的变量,在一个脚本的全部作用域中都可用
这篇文章主要介绍了php提高脚本性能的4个技巧,有助于提高程序的运行速度,感兴趣的朋友可以了解下
thinkphp中使用ajax方法;thinkphp使用ajax和PHP使用ajax的方法一样,不同点在于PHP的ajax中的url指向了一个页面,而thinkphp里面的url需要指向一个操作方法,可以利用ajax返回指定的数据,返回数据类型的修改等。
CSPRNG 即伪随机数产生器,作为一个工具,常用的算法有 MD5 或者 SHA1 等。在 PHP7 中,引入了以下两个 CSPRNG 函数,通过跨平台方式生成加密安全的整数和字符串。
strip()函数是python中内置函数的一部分。 该函数将从原始字符串的开头和结尾删除给定的字符。默认情况下,函数strip()将删除字符串开头和结尾的空格,并返回前后不带空格的相同字符串。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008