Sự cố với cụm từ thông dụng này khi tôi sử dụng cờ toàn cầu và cờ không phân biệt chữ hoa chữ thường là gì? Truy vấn là đầu vào do người dùng tạo. Kết quả phải là [đúng, đúng].Tại sao RegExp với cờ toàn cầu cho kết quả sai?
var query = 'Foo B';
var re = new RegExp(query, 'gi');
var result = [];
result.push(re.test('Foo Bar'));
result.push(re.test('Foo Bar'));
// result will be [true, false]
var reg = /^a$/g;
for(i = 0; i++ < 10;)
console.log(reg.test("a"));
Chào mừng bạn đến với một trong nhiều bẫy của RegExp trong JavaScript. Nó có một trong những giao diện tồi tệ nhất để xử lý regex mà tôi từng gặp, đầy những tác dụng phụ lạ và tối nghĩa. Hầu hết các tác vụ phổ biến mà bạn thường muốn làm với regex là khó đánh vần đúng. – bobince
XRegExp trông giống như một lựa chọn tốt. http://xregexp.com/ – about
Xem câu trả lời tại đây: http://stackoverflow.com/questions/604860/interesting-test-of-javascript-regexp – Prestaul