要验证输入日期(无论是表单 URL 还是表单),您通常使用哪种技术?
我一直在看PHP 过滤器 http://www.w3schools.com/php/php_ref_filter.asp但我很少在任何代码上看到它们。
我平时见过preg_mach的使用,例如:
$numbers = "/^[0-9]+$/D";
if (preg_match($numbers, $var)){
echo "is number";
}
代替:
if(!filter_var($var, FILTER_VALIDATE_INT))
echo "is number";
}
使用其中一种或另一种有什么优势吗?
谢谢!
我的两分钱:这取决于。
是否应该在正则表达式上使用过滤器函数取决于具体情况。其实,标准很简单:
有没有filter_*
存在的验证函数exactly我期待什么样的输入?
- 如果是这样,请使用它
filter_*
功能。
- 否则,请使用正则表达式。
正则表达式比filter_*
功能,但是功能filter_*
和正则表达式的相关性非常松散。最有可能的是,可以设计一个正则表达式来完成以下工作:filter_*
功能,但反之则不行。因此,正则表达式为表带来了更多的功能和灵活性,同时也更加复杂。
就个人而言,在处理简单输入(整数、日期、时间)时,我使用filter_*
函数,而更复杂的输入或非常具体或自定义的输入(自定义标识符应以字母开头和结尾,中间有 3 位数字)更适合正则表达式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)