我想验证我的数字与regex之前使用它,但它不工作

mec1mxoz  于 2023-06-30  发布在  其他
关注(0)|答案(1)|浏览(128)

我想验证我的数字与regex之前使用它,但它不工作
我希望第一个数字以0开始,然后是2或5,然后是4,其余的继续到10数字

<?php
$str = "0241310102";
$pattern = "([0]{1}[2,5]{1}[4]{1}[0-9]{7})";

if(preg_match($pattern, $str)){
echo "YES";
}else{
echo "NO";
}

?>
lf5gs5x2

lf5gs5x21#

1.您需要将模式锚定到字符串的开始/结束(^$)。
1.个位数不需要指定为字符类[0]0
1.如果不是一个0{1}0,则仅需指定量词

  1. [2,5]将在字符类中包含逗号→ [25]
$examples = [
    "0241310102",
    "1241310102",
    "0541310102",
    "0551310102",
    "0241"
];
$pattern = '(^0[25]4[0-9]{7}$)';

foreach ($examples as $example) {
    echo $example, ": ";
    if (preg_match($pattern, $example)) {
        echo "YES", "\n";
    } else {
        echo "NO", "\n";
    }
}

相关问题