下载鸥 > 网站下载 > 开发教程 > 前端开发

JS获取URL参数及编解码

940 2021-06-01 20:00:01

收藏
JS获取URL参数及编解码是一项比较常规的操作,以下是Jxinx博客介绍的JS获取URL参数及编解码的方法,分享给大家。

JS获取URL参数及编解码

方法一:正则分析法

function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;
}

这样调用:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
 

方法二

<script language="javascript">
    function GetRequest() {   
        var url = location.search; 
        //获取url中"?"符后的字串   
        var theRequest = new Object();   
        if (url.indexOf("?") != -1) {      
            var str = url.substr(1);      
            strs = str.split("&");      
            for(var i = 0; i < strs.length; i ++) {         
                theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);      
            }   
         }   
     return theRequest;
   }
</script>

这样调用:
<script language="javascript">
    var Request = new Object();
    Request = GetRequest();
    var 参数1,参数2,参数3,参数N;
    参数1 = Request['参数1'];
    参数2 = Request['参数2'];
    参数3 = Request['参数3'];
    参数N = Request['参数N'];
</script>
 

JS编解码

URL的合法字符
URL的合法字符表示再浏览器的地址栏中不会被转义的字符,有两种:

    1.URL元字符:分号(;),逗号(’,’),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#)

    2.语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪线(~),星号(*),单引号(),圆括号(()`)

当输入的字符不符合以上的字符时,浏览器就会把该字符转义,规则:根据操作系统的默认编码,将每个字节转为百分号(%)加上两个大写的十六进制字母。
比如:当再浏览器地址栏中输入www.baidu.com/q=你好时,会被转义成例如www.baidu.com/q=%E6%98%A5%E8%8A%82类似的字符串,浏览器才会读取。
 

JavaScript四个URL编码/解码方法

encodeURI
将元字符和语义字符之外的字符都进行转义,一般用于知道该URL只用于完整的URL时使用

encodeURIComponent
将除了语义字符之外的字符进行转义,包括元字符,因此,它的参数通常是URL的路径或参数值,而不是整个URL。
比如说,要在谷歌中搜索www.baidu.com/q=5&name时,若使用encodeURI,&字符并不会被转义,从而改变其真正的URL。

decodeURI
还原转义后的URL,是encodeURI方法的逆运算。

decodeURIComponent(此方法可以还原被转义的 url)
还原转义后的URL片段。是encodeURIComponent方法的逆运算。

本文地址:https://xzo.com.cn/develop/js/1007.html

有帮助,很赞!

信息来源:Jxinx
导出教程 下载word版教程
发表评论 共有条评论
关于前端开发


JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

JavaScript十分强大,不管是前端页面开发、视觉动态渲染、数据交互还是后端逻辑处理,都可以通过JS实现。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中。

推荐前端开发开发教程
JavaScript过滤XSS攻击方法
JavaScript过滤XSS攻击方法

什么是XSS?XSS(Cross Site Scripting),跨站脚本攻击,是一种允许攻击者在另外一个...

1 387
通过原生的JS实现点击复制效果
通过原生的JS实现点击复制效果

对于网站、app开发等工作而言,复制是一个非常常见的功能。很多人到处找插件...

1 447
jQuery怎样监听鼠标滚动是向上还是向下的状态?
jQuery怎样监听鼠标滚动是向上还是向下的状态?

知乎鼠标向下滚动显示文章标题,向上滚动显示栏目;又或者向下滚动到底部时异步...

0 568
$(window).height() 和 $(document).height()有什么不同?
$(window).height() 和 $(document).height()有什么不同?

我们常用$(window).height() 和 $(document).height()来监听当前高度,但这个...

1 411
JS点击复制data-*属性(支持多个元素)
JS点击复制data-*属性(支持多个元素)

分享一段js原生点击复制data-*属性的源码,根据onclick事件触发,复制当前元素...

0 389
swiper轮播图空白案例记录
swiper轮播图空白案例记录

今天鸥哥在用swiper做轮播图时,轮播效果虽然没问题,但只显示第一张,后面的图片...

0 374
JS控制输入字数的两个方案
JS控制输入字数的两个方案

我们在文章输入框中经常有用到字数控制,但字数控制有两种方案,一种是字母/空...

0 399
js判断windows操作系统还是mac os系统
js判断windows操作系统还是mac os系统

网站日常访客主要是windows和mac os两种操作系统,如果网站提供资源下载,则需...

0 1725
推荐插件
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 564
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1285
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 736
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 406
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 782
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 471
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 433
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 423
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入