Maison  >  Questions et réponses  >  le corps du texte

L'expression régulière pour valider les nombres ne fonctionnait pas avant mon utilisation

Je souhaite utiliser regex pour valider mes numéros avant de les utiliser, mais cela n'a pas fonctionné.

Je veux que le premier nombre commence par 0, suivi de 2 ou 5, puis 4, et le reste des nombres continue jusqu'à 10chiffres.

<?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粉690200856P粉690200856372 Il y a quelques jours475

répondre à tous(1)je répondrai

  • P粉329425839

    P粉3294258392023-09-14 13:05:30

    1. Vous devez ancrer le motif au début/fin de la chaîne (^$).
    2. Un seul numéro n'a pas besoin d'être spécifié comme classe de caractères[0]0
    3. À préciser uniquement si le quantificateur est différent de 10{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";
        }
    }
    

    répondre
    0
  • Annulerrépondre