Der reguläre Ausdruck zur Validierung von Zahlen funktionierte vor meiner Verwendung nicht
P粉690200856
P粉690200856 2023-09-13 15:00:59
0
1
537

Ich möchte meine Zahlen mithilfe von Regex validieren, bevor ich sie verwende, aber es hat nicht funktioniert.

Ich möchte, dass die erste Zahl mit 0 beginnt, gefolgt von 2 oder 5, dann 4 und die restlichen Zahlen bis zu 10Ziffern reichen.

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

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

?>

P粉690200856
P粉690200856

Antworte allen(1)
P粉329425839
  1. 您需要将模式锚定到字符串的开头/结尾(^$)。
  2. 单个数字不需要被指定为字符类[0]0
  3. 只有当量词与1不同时才需要指定0{1}0
  4. [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";
    }
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage