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