Mengekstrak Nombor daripada Rentetan dalam JavaScript
Dalam JavaScript, mendapatkan semula nombor daripada rentetan boleh dicapai dalam beberapa cara. Mari kita pertimbangkan senario di mana anda mempunyai rentetan seperti "#box2" dan perlu mengekstrak bahagian angka, dalam kes ini, "2."
Percubaan Gagal
Seperti yang dinyatakan dalam masalah, menggunakan kod berikut tidak akan berfungsi:
var thenum = thestring.replace(/(^.+)(\w\d+\w)(.+$)/i, '');
Kod ini direka bentuk untuk menangkap aksara perkataan diikuti dengan digit dan aksara perkataan lain, tetapi ia tidak mengalih keluar sebarang bukan digit daripada hasil carian.
Penyelesaian
Untuk contoh khusus ini, kod yang betul ialah:
var thenum = thestring.replace(/^\D+/g, '');
Kod ini menggantikan semua bukan digit terkemuka (aksara bukan digit) dengan rentetan kosong, meninggalkan anda dengan nombor.
Kes Umum
Dalam kes umum, anda boleh menggunakan kod berikut untuk mengekstrak nombor daripada rentetan:
thenum = "foo3bar5".match(/\d+/)[0];
Kod ini menggunakan ungkapan biasa untuk mencari satu atau lebih digit dalam rentetan dan mengembalikan padanan pertama sebagai a rentetan.
Bonus: Penjana Regex
Untuk kemudahan anda, terdapat alatan dalam talian yang tersedia yang boleh membantu anda menjana ungkapan biasa. Salah satu alat tersebut ialah "RegExp Generator" (dipautkan dalam contoh kod yang disediakan).
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nombor dengan Cekap daripada Rentetan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!