我正在按照以下方式使用ereg验证一个只能包含0到9之间数字的字段:
if(eregi("^([0-9])*$", $mynumber)) return true;
但是字符串必须有8到10个字符。是否有可能改进相同的ereg用法以检查有效的字符串长度?
先谢谢..所有的ereg教程对我来说似乎都是繁体中文。 :S
答案 0 :(得分:4)
ereg*()
函数已弃用,将在以后的版本中删除:
if(preg_match("/^([0-9]){8,10}$/", $mynumber)) return true;
答案 1 :(得分:1)
只需将*
量词替换为{8,10}
:
eregi("^[0-9]{8,10}$", $mynumber)
现在正则表达式只匹配字符串由8到10位数组成。
顺便说一句:i
中的eregi
用于不区分大小写。但数字没有案例。因此,您可以使用ereg
代替。但由于PHP’s POSIX ERE functions的使用已弃用,而不是PHP’s PCRE functions,因此您应该使用preg_match
代替:
preg_match("/^[0-9]{8,10}$/", $mynumber)