RegEx验证4位和5位数字?

时间:2012-11-07 16:27:34

标签: php regex

我有这个正则表达式:

if(preg_match("@^\d{4}$@", basename($entry, ".php"))) {
--do something here--
}

该条件仅适用于4位数字。但我需要验证4位数字和5位数字。如何使其工作以验证5位数?谢谢!

4 个答案:

答案 0 :(得分:6)

大括号可以采用范围的低端和高端,因此{4,5}应该有效。

答案 1 :(得分:3)

作为正则表达式的替代方法,请考虑更简单的函数,例如ctype_digit()strlen()

$filename = basename($entry, ".php");
$length = strlen($filename);

if (($length >= 4 && $length <= 5) && ctype_digit($filename)) {
  // your code
}

答案 2 :(得分:2)

if(preg_match("@^\d{4,5}$@", basename($entry, ".php"))) {
--do something here--
}

答案 3 :(得分:2)

而不是

 if(preg_match("@^\d{4}$@", basename($entry, ".php"))) {

使用

if(preg_match("@^\d{4,5}$@", basename($entry, ".php"))) {