我正在寻找一种方法,可以让我检查系统中的有效ID。
他们的定义是:
我想知道您认为最有效的方法是验证这一点。失败的候选人是:
is_int()
,因为它对负数有效,而且由于整数大小限制is_numeric()
,因为它对浮动有效,或者说,像这样具有指数部分+ 0123.45e6 ctype_digit()
将输入转换为字符串,因为这有效:“0000”到目前为止,我已经解决了这个问题:
preg_match('/^[1-9][0-9]*$/',(string)$id);
任何人都可以提出替代方案吗?
答案 0 :(得分:3)
使用filter_var尝试FILTER_VALIDATE_INT个功能。对于有效的整数,您可以指定ranges.Probably与大小限制具有相同的限制,但为此您必须构建一个完全满足您要求的自定义函数。
答案 1 :(得分:0)
你可以使用
function vaild_id($passed_value=-1)
{
if((is_int($passed_value)) && ($passed_value > 0)) return true;
else return false;
}
如果您需要
,这也允许您添加其他规则