switch语句中的RegExp构造函数

时间:2014-09-22 09:32:38

标签: javascript jquery regex

我在对象文字中有一些正则表达式模式,当我查找安全数字等特定模式时,我希望switch结束。

为什么我在下面abc获得匹配?

我的代码的简化版本:

var cst = {
    SECURITYNUMBER: /^\d{12}$/
};

function doStuff(query){

    $.each(query.split(' '), function(i, word){

        switch(true){
            case new RegExp(cst.SECIRUTYNUMBER).test(word): 
                console.log('match');
                break;
        }

    });
}

doStuff('198610054937 abc');

http://jsfiddle.net/t1ps0vdh/

1 个答案:

答案 0 :(得分:1)

你有一个拼写错误...而不是使用SECURITYNUMBER,你使用了SECIRUTYNUMBER

更改...

case new RegExp(cst.SECIRUTYNUMBER).test(word): 

要...

case new RegExp(cst.SECURITYNUMBER).test(word):

http://jsfiddle.net/t1ps0vdh/1/