Saya ingin menggunakan JavaScript (bisa dengan jQuery) untuk melakukan validasi sisi klien untuk memeriksa apakah string cocok dengan regex:
^([a-z0-9]{5,})$
Idealnya itu adalah ekspresi yang mengembalikan benar atau salah.
Saya seorang pemula JavaScript, apakah match()
melakukan apa yang saya butuhkan? Tampaknya untuk memeriksa apakah bagian dari string cocok dengan regex, bukan semuanya.
javascript
regex
match
Richard
sumber
sumber
Jawaban:
Gunakan
regex.test()
jika semua yang Anda inginkan adalah hasil boolean:... dan Anda dapat menghapus
()
dari regexp karena Anda tidak perlu ditangkap.sumber
Gunakan
test()
metode:sumber
RegExp
memungkinkan untuk menyuntikkan nilai variabel ke string regex.new RegExp("^([a-z0-9]{5,})$")
untuk membuatnya berfungsiAnda dapat menggunakan
match()
juga:Namun
test()
sepertinya lebih cepat seperti yang Anda baca di sini .Perbedaan penting antara
match()
dantest()
:match()
hanya bekerja dengan string, tetapitest()
juga bekerja dengan bilangan bulat.sumber
match
anggota). Saya akan merekomendasikan secara eksplisit mengkonversi nomor Anda ke string jika Anda ingin menggunakannya dengan regex (String(123)
misalnya).test
berkinerja 30% lebih baik ketika kami hanya ingin memvalidasi string agar cocok dengan regex dan tidak mengekstraksi substring darinya.Gunakan
/youregexp/.test(yourString)
jika Anda hanya ingin tahu apakah string Anda cocok dengan regexp.sumber
Berikut adalah contoh yang mencari tag HTML tertentu sehingga jelas yang
/someregex/.test()
mengembalikan boolean:sumber
sumber
Anda dapat mencoba ini, ini berhasil untuk saya.
sumber
silakan coba bunga ini:
sumber
mencoba
Tampilkan cuplikan kode
sumber
0-9
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaat semuapagi malam itu\d
? Oh, dan kelompok penangkap tidak perlu.Saya akan merekomendasikan menggunakan metode eksekusi yang mengembalikan null jika tidak ada kecocokan jika tidak mengembalikan objek bermanfaat.
sumber
sumber