正则表达式任意数字中间字符串

时间:2014-03-10 12:18:12

标签: javascript jquery regex

我正在使用javascript快速验证可能有多个结果的特定网址,我正在尝试使用正则表达式。

var regexNum = new RegExp("[0-9]");

var x = checkPage(); 
// returns: "/appl/coursemenu/chapter/ (a number here) /"

switch(x){
    case "/appl/coursemenu/chapter/"+regexNum+"/":
        chapter();
        break;
}

所以基本的想法是它是特定网址,但最后必须有一个数字。 (和“/”)

由于

[编辑]

我添加了一个JSFiddle来显示我的代码中出现了什么问题:JSFiddle

3 个答案:

答案 0 :(得分:0)

var regexNum = new RegExp("/appl/coursemenu/chapter/[0-9]/");

var x = checkPage(); 
// returns: "/appl/coursemenu/chapter/ (a number here) /"

if(regexNum.test(x)){
    chapter();
}

答案 1 :(得分:0)

如果我理解正确,你需要一个数字(数字组合),然后是斜杠。:

"/appl/coursemenu/chapter/123/".test(/\d+\/$/) --> true (123/)

正则表达式:/\d+\/$/

$匹配行尾。 \//匹配 \d+匹配099999等。

答案 2 :(得分:0)

如果你想保留switch声明,还有另一个疯狂的想法:

switch (true) {
    case /appl\/coursemenu\/chapter\/\d+\/$/.test(x):
        chapter();
        break;

    ...
}