相关疑难解决方法(0)

为什么带有全局标志的RegExp会产生错误的结果?

当我使用全局标志和不区分大小写的标志时,这个正则表达式有什么问题?查询是用户生成的输入.结果应该是[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)

javascript regex

254
推荐指数
4
解决办法
4万
查看次数

regex.test()只能每隔一段时间运行一次

正则表达式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中每隔一段时间都有效.奇怪的.

javascript regex safari firefox google-chrome

31
推荐指数
2
解决办法
5321
查看次数

JavaScript正则表达式 - g修饰符不起作用

我有以下代码:

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"]

javascript regex

1
推荐指数
1
解决办法
1489
查看次数

标签 统计

javascript ×3

regex ×3

firefox ×1

google-chrome ×1

safari ×1