QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 2522|回复: 0

[HTML/CSS/JS] 4种在JavaScript中获取URL中参数值的方法

[复制链接]

等级头衔

积分成就    金币 : 2841
   泡泡 : 1516
   精华 : 6
   在线时间 : 1294 小时
   最后登录 : 2024-11-21

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老

联系方式
发表于 2021-8-16 11:11:31 | 显示全部楼层 |阅读模式
方法一:正则法
8 ]$ r& l$ H) g% q
  1. function getQueryString(name) {
  2.     var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  3.     var r = window.location.search.substr(1).match(reg);
  4.     if (r != null) {
  5.         return unescape(r[2]);
  6.     }
  7.     return null;
  8. }
  9. // 这样调用:
  10. alert(GetQueryString("参数名1"));
  11. alert(GetQueryString("参数名2"));
  12. alert(GetQueryString("参数名3"));
方法二:split拆分法" {: f& R& G( j- J5 V) e$ e$ L
  1. function GetRequest() {
  2.     var url = location.search; //获取url中"?"符后的字串
  3.     var theRequest = new Object();
  4.     if (url.indexOf("?") != -1) {
  5.         var str = url.substr(1);
  6.         strs = str.split("&");
  7.         for(var i = 0; i < strs.length; i ++) {
  8.             theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
  9.         }
  10.     }
  11.     return theRequest;
  12. }
  13. var Request = new Object();
  14. Request = GetRequest();
  15. // var 参数1,参数2,参数3,参数N;
  16. // 参数1 = Request['参数1'];
  17. // 参数2 = Request['参数2'];
  18. // 参数3 = Request['参数3'];
  19. // 参数N = Request['参数N'];
方法三:正则(推荐使用)
2 G, F/ e4 C# U- V) @. i4 z       通过js获取url参数,这个经常用到。比如说一个url:http://wwww.fly63.com/?q=js,我们想得到参数q的值,那可以通过以下函数调用即可。
; R  e6 Z5 e& V" ^3 s. Q& M
  1. function GetQueryString(name) {
  2.     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  3.     var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
  4.     var context = "";
  5.     if (r != null)
  6.         context = decodeURIComponent(r[2]);
  7.     reg = null;
  8.     r = null;
  9.     return context == null || context == "" || context == "undefined" ? "" : context;
  10. }
  11. alert(GetQueryString("q"));
方法四:单个参数的获取方法
* B- ~8 i# n+ L, a6 z& }: o
  1. function GetRequest() {
  2.    var url = location.search; //获取url中"?"符后的字串
  3.    if (url.indexOf("?") != -1) {    //判断是否有参数
  4.       var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
  5.       strs = str.split("=");   //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)
  6.       alert(strs[1]);          //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
  7.    }
  8. }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2024-11-22 03:01

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表