我有搜索文本框。当用户输入一些文本时,我的查询字符串显示带有ASCII字符的文本,如%20和%3F。我想在我的文本框中显示此文本,而不像正常的HTML文本那样显示任何ASCII代码。如何在JavaScript中做到这一点?
%20
%3F
yebdmbv41#
使用decodeURIComponent():
decodeURIComponent()
var querystring = "?foo=bar%20baz"; console.log(decodeURIComponent(querystring));
字符串decodeURIComponent MDN reference
szqfcxe22#
您也可以将URLSearchParams与decodeURIComponent沿着使用。我个人比较喜欢URLSearchParams。根据我的测试,decodeURIComponent实际上只是剥离/替换URI编码,但URLSearchParams只返回特定querystrings的值,并允许方法获得特定的键/值对,如下所示。示例如下:
URLSearchParams
decodeURIComponent
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)
字符串
2条答案
按热度按时间yebdmbv41#
使用
decodeURIComponent()
:字符串
decodeURIComponent MDN reference
szqfcxe22#
您也可以将
URLSearchParams
与decodeURIComponent
沿着使用。我个人比较喜欢
URLSearchParams
。根据我的测试,
decodeURIComponent
实际上只是剥离/替换URI编码,但URLSearchParams
只返回特定querystrings
的值,并允许方法获得特定的键/值对,如下所示。示例如下:
字符串