php – 数字0的Regexp类型

前端之家收集整理的这篇文章主要介绍了php – 数字0的Regexp类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在输入字段中输入0到9的任何数字,所以我检查filter_var如下所示
<?PHP
$res['pno'] = filter_var($cond['pno'],FILTER_VALIDATE_REGEXP,//check valid phone no
array('options'=>array('regexp'=>'/^0+[0-9]*$/')))?true:false;                
?>

输入任何数字都可以,但是只输入0,它返回false,如果我只输入0,如何检查它是否返回true?

regexp本身已经很好了.

你的实际问题是:

?true:false

当正则表达式的filter_var成功时,它将返回一个只有“0”的字符串.

>现在如果?:在布尔上下文中计算它,那么你的最终表达式将只是假.
>所以用strlen()is_string包装你的filter_var()结果检查.

= is_string(filter_var(…,…,…)) ? true : false;

(是的,?true:false是非常多余的.)

猜你在找的PHP相关文章