Rumah >hujung hadapan web >html tutorial >Cari nombor menggunakan JavaScript RegExp
Dalam tutorial ini, kita akan belajar cara mencari nombor (0-9) menggunakan JavaScript RegExp. Nilai ASCII untuk nombor [0-9] bermula dari 48 hingga 57. Jika anda ingin mencetak sebarang nilai ASCII nombor, anda perlu menambah 48 pada nombor tersebut.
Kami mewakili nombor sebagai d dalam ungkapan biasa. RegExp ialah objek yang menentukan corak untuk melakukan carian dan menggantikan operasi atau pengesahan input pada rentetan.
Berikut ialah sintaks corak ungkapan biasa untuk nombor atau aksara d -
new RegExp("\d") or simply /\d/
/d/ telah diperkenalkan dalam ES1. Ia disokong sepenuhnya oleh semua pelayar. Seperti Chrome, IE, Safari, Opera, Firefox dan Edge.
RegExp mempunyai pengubah suai seperti g, i, m. "g" digunakan untuk melakukan padanan global, "i" digunakan untuk melaksanakan padanan tidak peka huruf besar-besaran, "m" digunakan untuk melakukan berbilang garisan sepadan.
Sintaks untuk d dengan pengubah suai seperti,
new RegExp("\d", "g") or simply /\d/g
Mari lihat beberapa contoh program untuk pemahaman yang lebih jelas.
Dalam atur cara berikut, kami menggunakan padanan rentetan (corak) untuk mencari nombor (d) dalam rentetan yang diberikan. Kami menggunakan mod RegExp sebagai /d/g. Kaedah padanan rentetan() mengembalikan tatasusunan nombor dalam rentetan.
<!DOCTYPE html> <html> <body> <h2>RegExp digit finding</h2> <p id="text"> </p> <p>Digit(s): <span id = "result"></span> </p> <script> let text = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = text; let pattern = /\d/g; let result = text.match(pattern); document.getElementById("result").innerHTML = result; </script> </body> </html>
Di sini, kaedah padanan() akan mengembalikan tatasusunan nombor jika terdapat nombor dalam teks yang diberikan, jika tidak, ia akan mengembalikan nol. Mari kita lihat contoh lain.
Dalam program berikut, kami mendapat rentetan tanpa nombor dan cuba mencari nombor dalam rentetan. Kami menggunakan padanan rentetan (corak) untuk mencari nombor (d) dalam rentetan yang diberikan. Kami menggunakan mod RegExp sebagai /d/g. Mari lihat bagaimana rupa output kami.
<!DOCTYPE html> <html> <body> <h2>Finding digits using RegExp</h2> <p id = "result"></p> <script> let text = "All students are qualified for the test"; let pattern = /\d/g; let result = text.match(pattern); if(result == null){ document.getElementById("result").innerHTML = "No digits found in the text."; } else { document.getElementById("result").innerHTML = result; } </script> </body> </html>
Dalam program di bawah, kami mencari nombor antara 2 dan 7. Untuk melakukan ini, kami menggunakan /[2-7]/g sebagai corak ungkapan biasa.
<!DOCTYPE html> <html> <body> <h2>RegExp digit finding</h2> <p id = "text"></p> <p>Digit(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /[2-7]/g; let result = myStr.match(pattern); document.getElementById("result").innerHTML = result; </script> </body> </html>
Kita boleh menggunakan beberapa kaedah untuk menggantikan aksara angka. Mari lihat contoh di bawah
Cari dan ganti nombor
Dalam contoh di bawah, kami mencari nombor dan menggantikannya dengan aksara ruang. Untuk ini kami menggunakan kaedah split() dan join().
<!DOCTYPE html> <html> <body> <h2>Replace digit character(s)</h2> <p id = "text"></p> <p>After replacing the digit character(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /\d/g; let result = myStr.split(/\d/g).join(" ") document.getElementById("result").innerHTML = result; </script> </body> </html>
Kami juga akan menyemak cara yang lebih mudah untuk menggantikan aksara angka. Suka,
<!DOCTYPE html> <html> <body> <h2>Replace digit character</h2> <p id = "text"></p> <p>After replacing the digit character(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /\d/g; let result = myStr.replace(/\d/g , " ") document.getElementById("result").innerHTML = result; </script> </body> </html>
Seperti yang kita bincangkan, g bermaksud perlawanan global. Ia tidak berhenti pada kejadian pertama, tetapi mencari semua kejadian.
Di sini, kita dapat perhatikan bahawa tiada nombor dalam teks. Oleh itu, match() akan mengembalikan null. Semoga tutorial ini menjelaskan cara mencari nombor dalam teks yang diberikan.
Atas ialah kandungan terperinci Cari nombor menggunakan JavaScript RegExp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!