Существующий URL
http://example.com/home.php?id=1&branch_id=4&course_id=5
Новый URL
http://example.com/home.php?id=1&branch_id=4
Удаление course_id из существующего URL
Как удалить одно значение параметра из URL.
Попробовал ниже код:
function replaceUrlParam(url, paramName, paramValue){
var pattern = new RegExp('(\\?|\\&)('+paramName+'=).*?(&|$)')
var newUrl=url
if(url.search(pattern)>=0){
newUrl = url.replace(pattern,'$1$2' + paramValue + '$3');
}
else{
newUrl = newUrl + (newUrl.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue
}
return newUrl
}
Но это не работает ...
2
Renjithapr22
24 Апр 2017 в 13:43
2 ответа
Лучший ответ
Как вы сказали, что вы хотите использовать переменную вместо прямого использования .replace(/&course_id=\d+/, '')
, вы можете сделать это, как показано ниже: -
Пример:-
var re = new RegExp("&course_id=\\d+");
var newUrl="http://example.com/home.php?id=1&branch_id=4&course_id=5";
console.log(newUrl.replace(re, ''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
6
Anant Singh---Alive to Die
24 Апр 2017 в 11:49
Вы можете просто сделать это, используя этот код для удаления &course_id=5
:
var url = "http://example.com/home.php?id=1&branch_id=4&course_id=5";
url.replace(/([&\?]course_id=5*$|course_id=5&|[?&]course_id=5(?=#))/, '');
Он вернет вам: http://example.com/home.php?id=1&branch_id=4
2
Ahmed Ginani
24 Апр 2017 в 10:58
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.