当不指定url参数时,设置默认url参数值

Set default url parameter value when none is specified

本文关键字:url 参数 设置 默认      更新时间:2023-09-26

我找到了在互联网上从JavaScript获取URL参数的答案:

function getURLParameter(name) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/'+/g, '%20'))||null
}

我想知道是否有一种方法可以修改这一点,所以当没有指定URL参数时,预设值将成为参数值。

index.html?value=1返回1

如果我将默认值设置为2,并且有人输入index.html,则变量值将为2。

添加一个参数来指定缺少键时所需的默认值:

function getURLParameter(name, _default) {
    var value = decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/'+/g, '%20')) || null
    return value !=null ? value : _default;
}

(仅供参考,此实现将;视为分隔符:k=a;b将返回a,这有点奇怪。)