首页/ 填坑/ 文章详情

Javascript 获取链接的参数值

从萌新一步一步走来,原来要求全栈程序员变成现在的前端程序员与后端程序员。一个人开发的项目,变成了两个人开发:前端负责前端,后端负责后端,通过 API 接口实现数据的交互。

脚本语言与服务器语言大杂烩的编程方式,将一去不复返。

以前用服务器语言 $_GET 获取参数值,现在换成用脚本语言来实现,意不意外呢? 更意外的是脚本语言没有提供类似 $_GET 的函数 。

分析链接的结构成分,参数值由【?】伊始,【&】与【=】作为分格符连接着参数名与参数值,组成一个带着参数的链接。

获取链接参数值

JSvar getQueryString = function (name,url) {
    var url = url || window.location.search;//默认当前链接
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = url.substr(1).match(reg);

    if (r != null) {
        return decodeURIComponent(r[2]);
    }
    return null;
}

通过 RegExp 正则分离,快速获取到我们想要参数值,然事情却未因而结束。对于英文字符,可以完整获取;对于中文,却发生了掉失的现象。

想要中文完整获取,需要多做一步骤:使用 encodeURIComponent 函数对中文进行转义,新重拼接链接;传递过去时,使用 decodeURIComponent 再对中文解义,方能确保中文参数的完整性。

文章评论0 records

最新 最早

0

最新评论Latest comments

唐牛才是食神唐牛才是食神 06-15 10:51
(*°▽°*)八(*°▽°*)♪,解决了
唐牛才是食神唐牛才是食神 06-15 10:49
发现不得了的东西,今晚回去好好研究下...
胖螺胖螺 02-04 00:58
( ゜- ゜)つロ 在写了在写了。看到也有些感慨。因为站长前年在我原博客的留言,让我毅然选择去深造,选择读研,曾经我想过挺多东西的,还是自己本专业的适合我自己。在这先表达感谢。新年快乐!
强哥强哥 2021-12-08 15:49
怎么看文章作者是谁呀?
big2catbig2cat 2021-08-27 16:11
然而没什么用,smartpss不兼容老录像机,就算能看回放,很多时间点在回放里也看不到