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

Javascript 正则表达式任意数字中间字符串,javascript,jquery,regex,Javascript,Jquery,Regex,我正在使用javascript快速验证一个可以产生多种结果的特定url,我正在尝试使用正则表达式来实现这一点 var regexNum = new RegExp("[0-9]"); var x = checkPage(); // returns: "/appl/coursemenu/chapter/ (a number here) /" switch(x){ case "/appl/coursemenu/chapter/"+regexNum+"/": chapter

我正在使用javascript快速验证一个可以产生多种结果的特定url,我正在尝试使用正则表达式来实现这一点

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;
}
所以基本的想法是,它是那个特定的url,但它必须在最后有一个数字。(及a/)

谢谢

[编辑]


我添加了一个JSFIDLE来显示我的代码中到底出了什么问题:

如果我理解正确,您需要在末尾添加一个数字(数字的组合),后跟一个斜杠:

"/appl/coursemenu/chapter/123/".test(/\d+\/$/) --> true (123/)
正则表达式:
/\d+\/$/

$
与行尾匹配。
\/
/

\d+
匹配
0
99999
等。

如果您想保留
开关
语句,另一个疯狂的想法是:

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

    ...
}

那么问题出在哪里呢?@PratikJoshi添加了一个JSFiddle来显示发生了什么,它需要检查regexNum变量所在的任何一组数字,范围可能从0到99999。如果您正确地告诉您要给出什么输入,以及您想要什么输出,那么一切都是混乱和不清楚的。@PratikJoshi,函数checkPage();返回一个以“/appl/coursemenu/chapter/”开头的字符串,然后是任意一组数字,然后是另一个“/”(例如:“/appl/coursemenu/chapter/16/”),我只需要开关大小写就可以返回true并运行chapter();当它得到一个像我上面给出的例子那样的字符串时,为什么必须有一个尾随斜杠?至少它应该是可选的:
\d+\/?$
。它很接近,但数字可以是任何一组数字,范围可以是0到99999@Paradoxis据此编辑了我的答案。
switch (true) {
    case /appl\/coursemenu\/chapter\/\d+\/$/.test(x):
        chapter();
        break;

    ...
}