, 당신은 .replace()
사용할 수 있습니다 : 당신이이 있는지 여부를 확실히 알 수없는 경우
currentPageUrl: req.originalUrl.replace(/page=[^&]+/, "page=" + currentPage)
것은, 당신이 먼저 테스트해야 :
를
let newUrl;
if (req.originalUrl.indexOf("page=") !== -1) {
newUrl = req.originalUrl.replace(/page=[^&]+/, "page=" + currentPage);
} else if (req.originalUrl.indexOf("?") === -1) {
newUrl = req.originalUrl + "?page=" + currentPage);
} else {
newUrl = req.originalUrl + "&page=" + currentPage);
}
각종 시험 예 :
function updatePage(origUrl, currentPage) {
let newUrl;
if (origUrl.indexOf("page=") !== -1) {
newUrl = origUrl.replace(/page=[^&]+/, "page=" + currentPage);
} else if (origUrl.indexOf("?") === -1) {
newUrl = origUrl + "?page=" + currentPage;
} else {
newUrl = origUrl + "&page=" + currentPage;
}
return newUrl;
}
// test cases
console.log(updatePage("http://somedomain.com/somePath?page=3", 5));
console.log(updatePage("http://somedomain.com/somePath?whatever=something&page=3", 5));
console.log(updatePage("http://somedomain.com/somePath", 5));
console.log(updatePage("http://somedomain.com/somePath?page=3&whatever=something", 5));
,
const url = require('url');
let parsedUrl = url.parse(req.originalUrl, true);
parsedUrl.query.page = currentPage;
delete parsedUrl.search;
let newUrl = url.format(parsedUrl);
을 원하는 것을 정확히 수행 생각 나는 이것이 내 경우에는 잘 작동 생각합니다. 도와 주셔서 감사합니다! – Codearts