如何删除URL编码在我的查询字符串使用Javascript

How to remove URL encoding in my querystring using Javascript

本文关键字:查询 我的 字符串 Javascript 编码 何删除 删除 URL      更新时间:2023-09-26

我有搜索文本框。当用户输入一些文本时,我的querystring显示带有ASCII字符的文本,如%20%3F。我想显示这个文本在我的文本框没有任何ASCII码像普通的HTML文本之一。我如何在Javascript中做到这一点?

使用decodeURIComponent():

var querystring = "?foo=bar%20baz";
console.log(decodeURIComponent(querystring));

decodeuriccomponent MDN参考

您也可以使用URLSearchParamsdecodeURIComponent

我个人更喜欢URLSearchParams

从我的测试,decodeURIComponent字面上只是剥离/替换URI编码,但URLSearchParams只返回特定的querystrings的值,并允许方法获得特定的键/值对,如下所示。

的例子:

var querystring = "?foo=bar%20baz";
var decoded = decodeURIComponent(querystring)
console.log('decoded:');
console.log(decoded)
var urlParams = new URLSearchParams(querystring);
var foo = urlParams.get('foo');
console.log('foo:');
console.log(foo)