最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

regex - javascript pattern matching - Stack Overflow

programmeradmin3浏览0评论

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
Add a ment  | 

2 Answers 2

Reset to default 4

There 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...

发布评论

评论列表(0)

  1. 暂无评论