I wrote this function:
function validateName(name) {
var re = /^[a-zA-Z\s]+$/gim;
console.log("@@ name = ", name);
console.log("typeof(re) = ", typeof(re));
console.log("test returns = %s,re = ", re.test(name),re);
console.log("test returns = %s,re = ", re.test(name),re);
console.log("test returns = %s,re = ", re.test(name),re);
return (re.test(name));
}
When I call it with name = "user fifteen" I get:
@@ name = user fifteen
typeof(re) = object
test returns = true,re = /^[a-zA-Z\s]+$/gim
test returns = false,re = /^[a-zA-Z\s]+$/gim
test returns = true,re = /^[a-zA-Z\s]+$/gim
So as you can see, sometimes I get true and some false. I noticed that this happens because of a global match flag, but I cannot understand why. Does anyone have an idea?
Thank you in advance