js解析url地址参数

最开始是用字符串的一些方法完成的。感觉有点low

var url = 'http://www.runoob.com/index.php?id=1&image=awesome.jpg#nan'

function getUrlData(url)

{

// 获取第一次碰到?的下标

let why = url.indexOf('?','0')

// 获取出现#的下标

let xiapu = url.indexOf('#','why')

// 截取?后面的字符串

let newStr = url.substring(why+1,xiapu)

// 以&进行拆分

  let vars = newStr.split("&");

  // 遍历数组

  for (let i=0;i<vars.length;i++) {

  // 以=进行拆分

        let pair = vars[i].split("=");

        // key:value

        console.log(pair)

        //key

        console.log(pair[0])

        //value

        console.log(pair[1])

  }

  // 如果#后面有参数

  if(newStr.search(/#/)){

  console.log(url.substring(xiapu,url.length))

  }

}

getUrlData(url);


后来看到了URlSeachParams(),这个是H5 API。又一起优化了一下;其实用第一个应该要显得你js基础好。其实还可以用正则写的,暂时还没有写,后面会更新的。

var url = 'http://www.runoob.com/index.php?id=1&image=awesome.jpg#nan'

function getUrlData(url)

{

// 获取第一次碰到?的下标

let why = url.indexOf('?','0')

// 获取出现#的下标

let xiapu = url.indexOf('#','why')

// 截取?后面的字符串

let newStr = url.substring(why+1,xiapu)

var urlSearchParam = new URLSearchParams(newStr);

for(var param of urlSearchParam) {

  console.log(param);

}

  // 如果#后面有参数

  if(newStr.search(/#/)){

  console.log(url.substring(xiapu,url.length))

  }

}

getUrlData(url);

关于这个,URlSeachParams()可以访问这里。http://www.softwhy.com/article-8925-1.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,174评论 0 2
  • 常用的js字符串函数集合 一、其他数据类型转换为字符串类型 (1).最直接的 给数据加引号(任何数据类型加上引号...
    Alexa_老王阅读 4,068评论 1 1
  • JavaScript之父:Brendan Eich 。 -基本语法:借鉴了C语言和Java语言。-数据结构:借鉴了...
    饥人谷_kule阅读 3,759评论 0 0
  • 第五章******************************************************...
    fastwe阅读 3,998评论 0 0
  • 一、函数 1) 作用 封装一段待执行的代码 2)语法 3)使用 函数名自定义,见名知意,命名规范参照变量的命名规范...
    南坡三舅阅读 1,697评论 0 1

友情链接更多精彩内容