如果未指定,则设置默认url参数值

时间:2015-07-22 12:56:54

标签: javascript html url url-parameters

我找到了这个答案,用于从互联网上的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.

1 个答案:

答案 0 :(得分:0)

添加一个参数以指定缺少密钥时所需的默认值:

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,这有点奇怪。)