cari

Rumah  >  Soal Jawab  >  teks badan

Ungkapan biasa untuk mengesahkan nombor tidak berfungsi sebelum saya menggunakan

Saya mahu menggunakan regex untuk mengesahkan nombor saya sebelum menggunakannya, tetapi ia tidak berjaya.

Saya mahu nombor pertama bermula dengan 0, diikuti dengan 2 atau 5, kemudian 4, dan nombor selebihnya terus 10digit.

<?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粉690200856487 hari yang lalu566

membalas semua(1)saya akan balas

  • P粉329425839

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

    1. Anda perlu melabuhkan corak pada permulaan/akhir rentetan (^$).
    2. Nombor tunggal tidak perlu dinyatakan sebagai kelas aksara[0]0
    3. Hanya perlu dinyatakan jika pengkuantiti berbeza daripada 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";
        }
    }
    

    balas
    0
  • Batalbalas