我正在寻找一种方法,使我可以检查系统中的有效ID.
根据定义,它们是:
>正,而不是0,
>整数,但可能大于整数
>以字符串或数字形式出现
我想知道您认为最有效的验证方法.失败的候选人是:
> is_int(),因为它对负数有效,并且由于整数大小限制,并且AND
> is_numeric(),因为它对浮点数有效,或者说具有像0123.45e6这样的指数部分
> ctype_digit()并将输入转换为字符串,因为这将是有效的:“ 0000”
到目前为止,我已经解决了:
preg_match('/^[1-9][0-9]*$/',(string)$id);
任何人都可以提出替代方案吗?
解决方法:
尝试将filter_var函数与FILTER_VALIDATE_INT一起使用.对于有效的整数,您可以指定范围.可能与大小限制具有相同的限制,但是为此,您必须构建一个可以完全满足您的要求的自定义函数.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。