URL直接传递特殊符号编码

来源:互联网 发布:项韧带钙化 知乎 编辑:程序博客网 时间:2024/05/19 07:09

有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码

十六进制值
1+URL 中+号表示空格%2B2空格URL中的空格可以用+号或者编码%203/分隔目录和子目录%2F4?分隔实际的 URL 和参数%3F5%指定特殊字符%256#表示书签%237&URL 中指定的参数间的分隔符%268=URL 中指定参数的值%3D

  解决的方法:

  replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.

  而str.replace(/\-/g,"!")则可以替换掉全部匹配的字符(g为全局标志)。

  replace()

  js中替换字符变量如下:

  data2=data2.replace(/\%/g,"%25");

  data2=data2.replace(/\#/g,"%23");

  data2=data2.replace(/\&/g,"%26");

 

按上面写了以下JS方法

//对内容进行编码
function getEncodeURI(content) {
    content = encodeURI(content);//已把%号转为%25
    //content = content.replace(/\%/g, "%25");
   
    content = content.replace(/\+/g, "%2B");
    content = content.replace(/\ /g, "%20");
    content = content.replace(/\//g, "%2F");
   
    content = content.replace(/\#/g, "%23");
    content = content.replace(/\&/g, "%26");
    content = content.replace(/\=/g, "%3D");
    content = content.replace(/\?/g, "%3F");
    return content;
}

原创粉丝点击