sta*_*een 1 php regex preg-match-all
我想验证一个数字字符串,该字符串必须只包含400到550之间的数字.
$x = "401"; // valid
$x = "551"; // invalid
Run Code Online (Sandbox Code Playgroud)
我想只匹配400到550之间的数字.
我尝试了以下模式:
if(preg_match_all("/[400-550]+/",$x));
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
匹配数字400-550的正则表达式是什么?
验证此范围的正则表达式:
\b(?:4[0-9]{2}|5[0-4][0-9]|550)\b
Run Code Online (Sandbox Code Playgroud)
见演示.由于使用了\b边界,它也适用于较大的文本.在整个字符串的情况下,使用^和$周围而不是\b.
只需结合in_array()使用range(),如下所示:
if(!in_array($x, range(400, 550)))
echo "in ";
echo "valid";
Run Code Online (Sandbox Code Playgroud)
或者只是做一个简单的if语句,例如
if($x >= 400 && $x <= 550)
Run Code Online (Sandbox Code Playgroud)