Apabila menggunakan regex untuk menyemak sama ada rentetan ialah nombor, corak "d " kelihatan mencukupi. Walau bagaimanapun, corak ini secara tidak sengaja memadankan rentetan seperti "78.46.92.168:8000," yang tidak diingini.
Tingkah laku ini timbul kerana "d " sepadan dengan mana-mana jujukan satu atau lebih digit dalam rentetan. Dalam contoh yang diberikan, ia sepadan dengan digit awal "78." Untuk memastikan corak sepadan dengan keseluruhan rentetan, kita perlu mengubah suainya untuk menyemak permulaan dan penghujung rentetan:
^\d+$
Corak ini bermula dengan simbol karet "^", yang menunjukkan permulaan bagi rentetan, dan berakhir dengan simbol "$" dolar, menunjukkan penghujung rentetan. Sekarang, jika rentetan mengandungi sebarang aksara bukan digit, corak itu akan gagal dipadankan.
Pendekatan alternatif yang lebih mudah ialah menggunakan kaedah "isdigit()" pada rentetan itu sendiri:
"78.46.92.168:8000".isdigit()
Kaedah ini akan mengembalikan False jika rentetan mengandungi sebarang aksara bukan digit, menjadikannya cara yang cekap dan tepat untuk menentukan sama ada rentetan mewakili nombor yang sah.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Regex Anda Memadankan Keseluruhan Rentetan Semasa Menyemak Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!