Возможный дубликат:
Javascript regex возвращает true.. then false.. then true.. и т.д.
var r = /\d/g;
var a = r.test("1"); // will be true
var b = r.test("1"); // will be false
console.log(a == b); // will be false
Пожалуйста, объясните мне, почему результат r.test( "1" ) чередуется с каждым вызовом?
Мне удалось обойти проблему, с которой я столкнулся, удалив модификатор g. Однако я все равно хотел бы понять, почему это происходит.