获取转义 URL 参数

我正在寻找一个jQuery插件,它可以获取URL参数,并支持此搜索字符串而不输出JavaScript错误:“格式错误的URI序列”。如果没有支持此功能的jQuery插件,我需要知道如何修改它以支持此功能。

?search=%E6%F8%E5

URL 参数的值在解码时应为:

æøå

(字符是挪威语)。

我无法访问服务器,因此我无法修改服务器上的任何内容。


答案 1
function getURLParameter(name) {
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
    );
}

答案 2

以下是我从此处的评论中创建的内容,以及修复未提及的错误(例如实际返回null,而不是“null”):

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