我想在输入字段中输入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;
?>
Run Code Online (Sandbox Code Playgroud)
键入任何数字都可以,但只输入0,它返回false,如果我只键入0 ,如何检查它是否返回true?
regexp本身已经很好了.
你的实际问题是:
?true:false
Run Code Online (Sandbox Code Playgroud)
当filter_var正则表达式成功时,它将返回一串正义"0".
现在如果?:在布尔上下文中计算它,那么你的最终表达式就是false.
所以用strlen()或包装你的filter_var()结果检查is_string.
= is_string(filter_var(…, …, …)) ? true : false;
Run Code Online (Sandbox Code Playgroud)
(是的,那?true:false是非常多余的.)
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |