-8
$st1='dsdsdsd 97537 sdsdd dsddd';
$st2='fdsf 23e  sdsd 434  432443454';
$st3='fdf97537 ds344dsddd';

我想检查字符串中是否有 5 位数字。

st1-- 有 5 位数字

st2---不是

st3-- 有 5 位数字

4

3 回答 3

1

preg_match()用or试试这个正则表达式preg_match_all()

preg_match("/\b[^\d]*\d{5}[^\d]*\b/", $str);
于 2012-08-20T19:40:16.737 回答
1

一个简单的正则表达式就可以完成这项工作。

preg_match('/\d{5}/', $input)

另见http://www.php.net/preg_match

于 2012-08-20T19:32:33.853 回答
0

假设每个要检查的元素是否是五位数字,在字符串中用空格分隔。因此,您可以使用explode函数将字符串转换为子字符串数组。接下来,您可以使用is_numeric函数来检查这是否是数字以及检查该子字符串是否为五长。您也可以为此使用正则表达式。

在这里,RegEx 要好得多。当我看到@Matt 的回答符合这些要求时,我的评论将是不必要的。

于 2012-08-20T19:35:36.653 回答