matchArray bees null for input like asklas@(((#
How do I correct this behavior? I only want to allow characters and numbers..
function validateName(name) {
debug(name);
var namePat = /^(\[A-Za-z0-9]*)$/ ;
var matchArray = name.match(namePat);
if (!matchArray){
debug ("Invalid name,", name );
return false;
}
return true;
}
matchArray bees null for input like asklas@(((#
How do I correct this behavior? I only want to allow characters and numbers..
function validateName(name) {
debug(name);
var namePat = /^(\[A-Za-z0-9]*)$/ ;
var matchArray = name.match(namePat);
if (!matchArray){
debug ("Invalid name,", name );
return false;
}
return true;
}
Share
Improve this question
asked May 11, 2011 at 20:44
KiranKiran
5,52613 gold badges61 silver badges85 bronze badges
2 Answers
Reset to default 4There is one erroneous backslash in your regex. It should be
var namePat = /^[A-Za-z0-9]*$/;
(and you don't need the capturing parentheses, either).
Not sure what you want in this case... if you want a boolean output, use .test:
namePat.test(name)
... but null will work for your test (!matchArray)
just fine.
It does seem like you have a typo in your regular expression - you'll want to get rid of the backslash before the opening bracket...