我想验证一个数字字符串,该字符串只能包含 400 到 550 的数字。
$x = "401"; // valid
$x = "551"; // invalid
我想只匹配 400 和 550 之间的数字。
我尝试了以下模式:
if(preg_match_all("/[400-550]+/",$x));
但它没有用。
匹配数字400-550的正则表达式是什么?
答案 0 :(得分:7)
答案 1 :(得分:6)
只需将in_array()
与range()
合并,就像这样:
if(!in_array($x, range(400, 550)))
echo "in ";
echo "valid";
或者只是做一个简单的if语句,例如
if($x >= 400 && $x <= 550)
答案 2 :(得分:4)
应该工作:
^((4\d\d)|(5([0-4]\d|50)))$
答案 3 :(得分:3)
答案 4 :(得分:2)
试试/(([4][0-9]{2,2})|([5][0-4][0-9])|(550))/
(我还没有测试过它)。我不知道是否有更简单的方法。
答案 5 :(得分:1)
除非您有理由使用正则表达式,否则只需比较数字。
if ($x <= 550 && $x >= 400)
它比正则表达式或使用数组范围更快更容易阅读。
答案 6 :(得分:1)
php代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
mp1.stop();
return super.onKeyDown(keyCode, event);
}