Rumah > Soal Jawab > teks badan
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粉3294258392023-09-14 13:05:30
^
,$
). [0]
→ 0
0{1}
→ 0
[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"; } }