首页/ 填坑/ 文章详情

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

HentaiCatHentaiCat 2020-12-30 10:22
考科目二全程很紧张,考了三次才过,有次侧方入库直接pass,100分扣完,呜呜呜~
猫猫酱猫猫酱 2020-11-12 10:56
一入多肉深似海,说多都是泪
soulkunsoulkun 2020-11-05 15:54
IconFont的图标真的很好用!!!
无限链霉球菌无限链霉球菌 2020-11-03 11:41
药店,了解一下(`・ω・´)
HentaiCatHentaiCat 2020-11-02 15:28
(ಡωಡ)很实用,直接拿走...