首页/ 填坑/ 文章详情

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

凡心的仙人凡心的仙人 03-18 14:35
谢谢你了!
rantrismrantrism 2023-04-03 11:27
您好~我是腾讯云开发者社区运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan 作者申
唐牛才是食神唐牛才是食神 2022-06-15 10:51
(*°▽°*)八(*°▽°*)♪,解决了
唐牛才是食神唐牛才是食神 2022-06-15 10:49
发现不得了的东西,今晚回去好好研究下...
胖螺胖螺 2022-02-04 00:58
( ゜- ゜)つロ 在写了在写了。看到也有些感慨。因为站长前年在我原博客的留言,让我毅然选择去深造,选择读研,曾经我想过挺多东西的,还是自己本专业的适合我自己。在这先表达感谢。新年快乐!