@HAbRAhabp

Route для кириллицы в Express?

Пытаюсь сделать, чтобы маршрутизатор пропускал выражения, с буквами и символами, типа a-zA-Z0-9А-Яа-я_. Как я это делаю:
rootApp.all(/\+(\w+|\p{L}+)/, function (req, res, next) {
    res.cookie("referer", req.params[0]);
    res.send(req.params);
});

Но в итоге...
GET /+А - 404 NOT FOUND
GET /+ref - {"0":"ref"}
GET /+ref_123ру_ - {"0":"ref_123"}

Как сделать, чтобы парсер пропускал кириллицу?
  • Вопрос задан
  • 305 просмотров
Решения вопроса 1
@HAbRAhabp Автор вопроса
В итоге сделал так:
rootApp.all(/\+(\S+)/, function (req, res, next) {
        var decodedPath = decodeURIComponent(req.path),
            regexp = /\+[a-zA-Z0-9А-Яа-я_]+/;
    
        var executed = regexp.exec(decodedPath);
        if (executed != null) {
            var parsed = executed[0].slice(1);
    
            res.cookie("referer", parsed);
            res.send(parsed);
        }
        else next();
    });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы