JavaScript - 如果出现则替换单词,否则将文本 append 到字符串的末尾

标签 javascript url replace append

我有这个脚本来替换一个词:

var url = window.location.toString();
window.location = url.replace(/(\?sort=name|size)/, 'date');

这意味着将文本 append 到字符串的末尾:

var orig = location.href;
location.replace(orig+'?sort=date');

如何将它们合并到一个脚本中以便仅在 ?sort 参数不存在时才 append 文本?

如果重要的话,?sort 参数应该总是在字符串的末尾。

最佳答案

var url = window.location.toString();
var re = /(\?sort=name|size)/;
window.location = re.test(url) ? url.replace(re, 'date') : url + "?sort=date";

旁注:我认为您在替换中指的是 '?sort=date' 而不是 'date'

所以 window.location = re.test(url) ? url.replace(re, '?sort=date') : url + "?sort=date";

关于JavaScript - 如果出现则替换单词,否则将文本 append 到字符串的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14761954/

相关文章:

javascript - Cordova 中从 Web 到设备文件系统的目录递归复制

javascript - 基于类创建内联图像

asp.net - 在代码中获取页面的绝对 URL

javascript - 如何从单页应用URL中解析参数?

loops - 替换具有初始值的变量

javascript - 如何检测 CSS 区域中的下溢

javascript - Web 开发人员的知识图/表

php - 将所有 GET 查询从一个站点重定向到另一个站点

vim - Vim搜索和替换效率

.net - 在不使用Regex的情况下,.Net中是否存在不区分大小写的字符串替换?