php preg_match number 2000 - 2999

时间:2016-08-05 13:10:57

标签: php preg-match

我正在尝试写一个if语句,如果$ var等于任何数字2000 - 2999 inc。

if ( preg_match( '/^20.*/', $var) ) continue;

这似乎有效,但是这也会在20123456或20001-1234-2345等上匹配吗?

如何将其限制在2000 - 2999(含)?

由于

2 个答案:

答案 0 :(得分:4)

为什么要通过preg_match? 您可以使用经典if

if ($var >= 2000 && $var <= 2999) continue;

答案 1 :(得分:2)

使用正则表达式的最简单方法:

if ( preg_match( '/^2[0-9]{3}$/', $var) ) continue;

[0-9]匹配任何数字字符。 {3}表示完全匹配3次。因此,它会匹配000001120999等... $匹配字符串的结尾。

有关详细信息,请参阅此regex101 link。 (使用左侧的单元测试确保功能与您要查找的功能相匹配)