0

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

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

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

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

4

2 回答 2

4

ereg*()函数已弃用,并将在未来版本中删除:

if(preg_match("/^([0-9]){8,10}$/", $mynumber)) return true;
于 2010-03-14T15:54:11.043 回答
1

只需将*量词替换为{8,10}

eregi("^[0-9]{8,10}$", $mynumber)

现在正则表达式仅在字符串包含 8 到 10 位数字时才匹配。

而且,顺便说一句:iineregi是不区分大小写的。但是数字没有大小写。所以你可以ereg改用。但是由于不推荐使用PHP 的 POSIX ERE 函数,而改用PHP 的 PCRE 函数,因此您应该preg_match改用:

preg_match("/^[0-9]{8,10}$/", $mynumber)
于 2010-03-14T15:52:43.200 回答