Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya memasukkan pembolehubah dalam ungkapan biasa dalam JavaScript?

Bagaimanakah saya memasukkan pembolehubah dalam ungkapan biasa dalam JavaScript?

DDD
DDDasal
2024-11-09 02:11:02465semak imbas

How do I include variables in regular expressions in JavaScript?

Sertakan Pembolehubah dalam Ungkapan Biasa dalam JavaScript

Dalam JavaScript, menggunakan pembolehubah sebagai sebahagian daripada ungkapan biasa boleh dicapai dengan mencipta objek RegExp baharu dengan pembolehubah terbenam dalam corak.

Pertimbangkan contoh berikut:

function(input) {
    var testVar = input;
    string = ...
}

Untuk memasukkan testVar dalam regex, objek RegExp baharu harus dibuat:

const regex = new RegExp(`ReGeX${testVar}ReGeX`);
...
string.replace(regex, "replacement");

Ini mencipta objek ungkapan biasa dengan nilai pembolehubah dimasukkan ke dalam corak.

Nota: Jika pembolehubah mengandungi input pengguna atau berpotensi mengandungi kandungan berniat jahat, adalah penting untuk melarikan diri daripada pembolehubah menggunakan escape() untuk mengelakkan keselamatan kelemahan.

Kemas kini (2019):

Pembangunan JavaScript moden sering menggunakan literal templat untuk interpolasi rentetan. Berikut ialah versi terkini contoh menggunakan literal templat:

function(input) {
    var testVar = input;
    string = ...
}
...
string.replace(/ReGeX${testVar}ReGeX/, "replacement");

Kaedah ini memanfaatkan literal templat untuk membina corak ungkapan biasa secara dinamik, dengan berkesan mencapai hasil yang diinginkan.

Atas ialah kandungan terperinci Bagaimanakah saya memasukkan pembolehubah dalam ungkapan biasa dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn