首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >URIError: URI序列格式错误?

URIError: URI序列格式错误?
EN

Stack Overflow用户
提问于 2013-12-20 17:33:35
回答 1查看 32.8K关注 0票数 6

当我需要从中提取参数值的URL字符串中有一个类似60% - Completed%符号时,下面的代码错误就不在URIError: malformed URI sequence?中了,例如http://some-external-server.com/info?progress=60%%20-%20Completed

代码语言:javascript
运行
复制
   <SCRIPT type="text/javascript">
            function getParameterByName(name) {
                name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
                var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
                results = regex.exec(location.search);
                return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
            }
    </SCRIPT>

我没有服务器的控制权,需要处理我的html页面的输出。

EN

回答 1

Stack Overflow用户

发布于 2013-12-20 17:35:43

我认为您需要将百分号URI编码为'%25‘

代码语言:javascript
运行
复制
http://some-external-server.com/info?progress=60%25%20-%20Completed 

编辑

我想你可以这样做:

代码语言:javascript
运行
复制
var str = "60%%20-%20completed";
var uri_encoded = str.replace(/%([^\d].)/, "%25$1");
console.log(str); // "60%25%20-%20completed"
var decoded = decodeURIComponent(uri_encoded);
console.log(decoded); // "60% - completed"
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20700393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档