Memeriksa apakah string yang cocok dengan regex di JS

Saya ingin menggunakan JavaScript (bisa dengan jQuery) untuk melakukan beberapa validasi sisi klien untuk memeriksa apakah string yang cocok dengan regex:

^([a-z0-9]{5,})$

Idealnya itu akan menjadi sebuah ekspresi yang mengembalikan nilai true atau false.

I'm JavaScript pemula, tidak match() apakah apa yang saya butuhkan? Tampaknya untuk memeriksa apakah bagian dari pertandingan string regex, tidak semuanya.

Mengomentari pertanyaan (2)
Larutan

Gunakan regex.test() jika semua yang anda inginkan adalah boolean hasil:

console.log(/^([a-z0-9]{5,})$/.test('abc1')); // false

console.log(/^([a-z0-9]{5,})$/.test('abc12')); // true

console.log(/^([a-z0-9]{5,})$/.test('abc123')); // true

...dan anda bisa menghapus () dari regexp sejak anda've tidak perlu untuk menangkap.

Komentar (6)

Menggunakan test() metode :

var term = "sample1";
var re = new RegExp("^([a-z0-9]{5,})$");
if (re.test(term)) {
    console.log("Valid");
} else {
    console.log("Invalid");
}
Komentar (2)

Anda dapat menggunakan match() juga:

if (str.match(/^([a-z0-9]{5,})$/)) {
    alert("match!");
}

Tapi test() tampaknya menjadi lebih cepat seperti yang dapat anda baca di sini.

Perbedaan penting antara match() dan test():

pertandingan() hanya bekerja dengan string, tapi test() juga bekerja dengan bilangan bulat.

12345.match(/^([a-z0-9]{5,})$/); // ERROR
/^([a-z0-9]{5,})$/.test(12345);  // true
/^([a-z0-9]{5,})$/.test(null);   // false

// Better watch out for undefined values
/^([a-z0-9]{5,})$/.test(undefined); // true
Komentar (3)

Gunakan /youregexp/.tes(yourString) jika anda hanya ingin tahu apakah anda string pertandingan regexp.

Komentar (0)

Berikut ini's contoh yang terlihat untuk beberapa tag HTML sehingga's jelas bahwa /someregex/.test() mengembalikan boolean:

if(/(span|h[0-6]|li|a)/i.test("h3")) alert('true');
Komentar (0)
 let str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 let regexp = /[a-d]/gi;
 console.log(str.match(regexp));
Komentar (0)

silakan coba bunga ini:

/^[a-z0-9\_\.\-]{2,20}\@[a-z0-9\_\-]{2,20}\.[a-z]{2,9}$/.test('abc@abc.abc');

benar

Komentar (0)

mencoba

 /^[a-z\d]{5,}$/.test(str)
console.log( /^[a-z\d]{5,}$/.test("abc123") );

console.log( /^[a-z\d]{5,}$/.test("ab12") );
Komentar (4)

Saya akan merekomendasikan menggunakan melaksanakan metode yang mengembalikan null jika tidak ada pertandingan yang ada jika tidak maka kembali membantu objek.

`` mari case1 = /^([a-z0-9]{5,})$/.exec("abc1"); konsol.log(case1); //null

mari case2 = /^([a-z0-9]{5,})$/.exec("pass3434"); konsol.log(case2); // ['pass3434', 'pass3434', index:0, input:'pass3434', kelompok: undefined] ``

Komentar (0)