Rumah > hujung hadapan web > tutorial js > Mengapa JavaScript Tidak Mempunyai Fungsi RegExp.escape Terbina dalam?

Mengapa JavaScript Tidak Mempunyai Fungsi RegExp.escape Terbina dalam?

Linda Hamilton
Lepaskan: 2024-12-25 01:34:09
asal
407 orang telah melayarinya

Why Doesn't JavaScript Have a Built-in RegExp.escape Function?

Fungsi RegExp.escape JavaScript yang Hilang

Anda berusaha untuk membina ungkapan biasa daripada rentetan arbitrari, tetapi kaedah terbina dalam mengelakkan anda. Walaupun Ruby memudahkan RegExp.escape, JavaScript tidak mempunyai persamaan.

Fungsi yang Dicadangkan

Fungsi yang disyorkan dalam urutan yang berbeza tidak berfungsi kerana ia gagal untuk melepaskan aksara seperti ^ (permulaan rentetan), $ (akhir rentetan), dan - (digunakan untuk julat dalam aksara kumpulan).

Untuk penyelesaian yang mantap, pertimbangkan perkara berikut:

function escapeRegex(string) {
    return string.replace(/[/\-\^$*+?.()|[\]{}]/g, '\$&');
}
Salin selepas log masuk

Fungsi ini secara bijak melepaskan semua aksara yang penting untuk pembinaan ekspresi biasa, menjadikannya sesuai untuk kedua-dua kelas aksara dan literal regex.

Mengapa JavaScript Kurang?

Ketiadaan terbina dalam RegExp.escape dalam JavaScript kekal sebagai isu yang menjengkelkan. Fungsi ini amat diperlukan untuk membersihkan input pengguna sebelum membuat ungkapan biasa, menghalang potensi kelemahan keselamatan dan tingkah laku yang tidak dijangka.

Atas ialah kandungan terperinci Mengapa JavaScript Tidak Mempunyai Fungsi RegExp.escape Terbina dalam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan