PHP:如何使用ereg同时验证输入文本和字符串长度?

时间:2010-03-14 15:51:09

标签: php posix-ere

我正在按照以下方式使用ereg验证一个只能包含0到9之间数字的字段:

if(eregi("^([0-9])*$", $mynumber)) return true;

但是字符串必须有8到10个字符。是否有可能改进相同的ereg用法以检查有效的字符串长度?

先谢谢..所有的ereg教程对我来说似乎都是繁体中文。 :S

2 个答案:

答案 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)