当我使用全局标志和不区分大小写的标志时,这个正则表达式有什么问题?查询是用户生成的输入.结果应该是[true,true].
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]
Run Code Online (Sandbox Code Playgroud)
var reg = /^a$/g;
for(i = 0; i++ < 10;)
console.log(reg.test("a"));Run Code Online (Sandbox Code Playgroud)
正则表达式test()给我提供了Firefox和Chrome的问题,但它在Opera和Safari中运行完美.
麻烦的代码:
var pattern = /(\s+(?!\$\w+)|(^(?!\$\w+)))/g;
if(pattern.test(String(id).replace(/\s+OR|AND\s+/g, ''))) {
searchError("You suck.");
return 1;
}
Run Code Online (Sandbox Code Playgroud)
当你传入白色空间时,它每次都会阻挡它.当你传递类似的东西时'$a b',它将在Firefox/Chrome中每隔一段时间都有效.奇怪的.
我有以下代码:
var str = "4 shnitzel,5 ducks";
var rgx = new RegExp("[0-9]+","g");
console.log( rgx.exec(str) );
Run Code Online (Sandbox Code Playgroud)
chrome和firefox的输出是["4"].
为什么我没有得到结果["4","5"]?