Can anyone explain this to me? Why does "GETTING STARTED" match a[^cns] until I put it into an H1? (Testing on Chrome)
var regex = /a[^cns]/gim
console.log("test: " + regex.test("GETTING STARTED"));
var h = document.createElement("H1");
h.innerText = "GETTING STARTED";
console.log(regex.test(h.innerText));
If I change this to
var regex = /a[^cns]/gim
console.log("test: " + regex.test("GETTING STARTED"));
regex.lastIndex = 0;
var h = document.createElement("H1");
h.innerText = "GETTING STARTED";
console.log(regex.test(h.innerText));
It works as expected
>Solution :
Don’t use //g.test()
Using test() on a regex with the "global" flag