Làm thế nào để tạo ra mô hình regex đó là nối với nhau, một cái gì đó như thế này:JavaScript mẫu regex concatenate với biến
var test ="52";
var re = new RegExp("/\b"+test+"\b/");
alert('51,52,53'.match(re));
Cảm ơn
Làm thế nào để tạo ra mô hình regex đó là nối với nhau, một cái gì đó như thế này:JavaScript mẫu regex concatenate với biến
var test ="52";
var re = new RegExp("/\b"+test+"\b/");
alert('51,52,53'.match(re));
Cảm ơn
var re = new RegExp("/\b"+test+"\b/");
\b
trong một chuỗi chữ là một nhân vật backspace. Khi đặt một regex trong một chuỗi chữ bạn cần thêm một vòng thoát: (. Bạn cũng không cần //
trong bối cảnh này)
var re = new RegExp("\\b"+test+"\\b");
bạn có thể sử dụng
/(^|,)52(,|$)/.test('51,52,53')
nhưng tôi khuyên bạn nên sử dụng
var list = '51,52,53';
function test2(list, test){
return !((","+list+",").indexOf(","+test+",") === -1)
}
alert(test2(list,52))
Toán tử 'mới' không cần thiết, theo http://bclary.com/2004/11/07/#a-15.10.3 – James
Có rất nhiều nơi mà hàm xây dựng của một kiểu dựng sẵn có thể được sử dụng cả khi có hoặc không có 'mới'. Tuy nhiên, để nhất quán với các đối tượng khác mà điều này có thể không đúng, và rõ ràng nói chung, tôi sẽ luôn luôn sử dụng 'mới'. – bobince
Một cách khác là sử dụng dấu nháy đơn để rõ ràng, do đó bạn không cần phải thoát khỏi dấu gạch chéo ngược: «RegExp mới ('\ b' + test + '\ b'); ' – IQAndreas