Regex любое число в середине строки

0

Я использую 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-адрес, но он должен иметь номер в конце. (и "/")

благодаря

[РЕДАКТИРОВАТЬ]

Я добавил JSFiddle, чтобы показать, что именно происходит в моем коде: JSFiddle

  • 0
    тогда в чем проблема?
  • 0
    @PratikJoshi Я добавил JSFiddle, чтобы показать, что происходит, он должен проверить любой набор чисел, где размещена переменная regexNum, это может быть в диапазоне от 0 до 99999
Показать ещё 3 комментария
Теги:

3 ответа

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();
}
0

Если я правильно понял, вам нужно число (комбинация цифр) в конце, а затем косая черта:

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

Regex: /\d+\/$/

$ Match заканчивается. \/ Соответствует a / The \d+ соответствует 0 или 99999 и т.д.

  • 0
    Это близко, но число может быть любым набором чисел, оно может варьироваться от 0 до 99999
  • 0
    @Paradoxis Отредактировал мой ответ соответственно.
0

Еще одна сумасшедшая идея, если вы хотите сохранить оператор switch:

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

    ...
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню