Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Memastikan Rentetan Mewakili Nilai Berangka Sebenar Menggunakan Ungkapan Biasa?
Mengesahkan Integriti Numerik Rentetan menggunakan Ungkapan Biasa
Apabila cuba untuk memastikan sama ada rentetan mewakili nombor menggunakan ungkapan biasa "d", tidak dijangka perlawanan boleh timbul. Sebagai contoh, coretan kod yang disediakan mendapati "78.46.92.168:8000" sebagai nombor positif, yang bukan hasil yang dimaksudkan. Ini menimbulkan persoalan bagaimana "." dan aksara ":" dikenali sebagai digit.
Jawapannya terletak pada ungkapan "d ", yang sepadan dengan satu atau lebih digit dalam rentetan. Akibatnya, ia mencari dan menjajarkan dengan "78" pada permulaan alamat IP, menghasilkan padanan positif.
Untuk menyelesaikan isu ini dan memastikan corak regex hanya mengenali nilai angka, seseorang boleh mengubah suainya kepada "^d $". Ungkapan yang disemak ini mencari padanan yang bermula dengan digit, meneruskan dengan sifar atau lebih digit tambahan dan berakhir dengan digit.
Sebagai alternatif, pendekatan yang lebih mudah dan ringkas ialah menggunakan kaedah "isdigit()" untuk rentetan, seperti dalam "78.46.92.168:8000".isdigit(). Kaedah ini mengesahkan secara jelas jika keseluruhan rentetan memenuhi kriteria angka, menghapuskan sebarang kekeliruan dalam tafsiran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Rentetan Mewakili Nilai Berangka Sebenar Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!