javascript - 采用 unset() 并在 javascript 中重写此函数

标签 javascript regex

我的网站上有一个 PHP 函数,如下:

$url = $_SERVER["REQUEST_URI"];
$x = $url;
$parsed = parse_url($x);
$query = $parsed['query'];
parse_str($query, $params);
unset($params['page']);
$string = http_build_query($params);

从当前 URL 中删除“page”参数。

但是我现在需要做的是用 javascript 编写相同的函数,以便在 onclick 中使用。我经过搜索并提出了以下解决方案:

$('#localtab').click(function() {
     return location.href=location.href.replace(/&?page=([^&]$|[^&]*)/i, "");
});

这是有效的,但由于这是我第一次编写正则表达式,我是否以最佳方式重新加载此页面?我不想冒险删除任何其他参数,尽管没有其他参数包含短语“页面”。

例如,是否最好首先检查 URL 中是否存在页面参数(因为有时实际上并不存在)以及如何执行此操作? 谢谢。

最佳答案

问题是 RegExp 应该用于模式。并且只有当模式匹配时它才会起作用。不,您不需要在清除page 之前检查它是否存在。

关于javascript - 采用 unset() 并在 javascript 中重写此函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29135657/

相关文章:

java - 将网页另存为图像

Python 正则表达式 : Replace individual characters in a match

regex - PowerShell 正则表达式分组

regex - 去正则表达式查找带撇号的单词

javascript - 理解 JavaScript 中正则表达式背后的积极外观

javascript - 似乎无法为特定情况制作正则表达式

javascript - 如何在 jwplayer 中的播放列表的最后一个视频上禁用下一个卡

javascript - 在 ng-repeat 中使用选择值

javascript - v-model 不使用 switch 更改数据并在 vuejs 中选择下拉列表

javascript - 检查属性与检查函数返回值的性能如何?