如何替换//中的/except
How to replace / except in http://
我有一个字符串,需要用/
替换%2f
,http://
除外。
示例:
var str = "http://locahost%2f";
str = str.replace(/%2f/g, "/");
不知怎么的,我让str
输出http:/locahost/
。
提前感谢!
应该使用什么
您应该使用decodeURIComponent
或decodeURI
函数来解码像您这样的编码字符串。例如,decodeURIComponent("http://locahost%2f")
将返回http://localhost/
。
也就是说,decodeURIComponent
应该用于解码URI的组件,而不是像http://locahost/
那样的完整URI。
你应该看看这个答案,它解释了decodeURIComponent
和decodeURI
之间的区别以及何时应该使用它们。
解决方法
由于第一个/
没有经过编码,因此很难找到一个Javascript函数来执行您想要的操作。在http://
之后解码%2f
的一个有效解决方案是使用String.prototype.split
。
工作示例:
var encoded = "http://localhost%2f";
var encodedArray = str.split("://");
var decoded = encodedArray[0] + "://" + encodedArray[1].replace(/%2f/g, "/");
这应该有效:
str = str.replace("%2f", "/");
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 可以't让我的if语句处理js中的html表单输入
- 引用对象中的通用值
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 不能从angular2中的子组件指定父组件中的数组
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如何更改bigquery API中的计费层选项
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- 我如何找到一个句子中的所有空格并替换忽略它们
- zurb基础中的固定宽度立柱3
- 如何替换//中的/except