首页 > Web开发 > 详细

强迫症!一行代码拿到url特定query的值

时间:2019-05-30 18:59:28      阅读:125      评论:0      收藏:0      [点我收藏+]

简单的说一下背景,看到小伙伴给我发的项目中有一段获取当前url特定query值的代码,本着能写1行代码就不写5行代码的原则,我把这个获取方法给改了一下

之前的代码如下:


const queryArr = location.search.substring(1).split('&')
let name = ''
queryArr.forEach(item => {
  const _arr = item.split('=')

  if (_arr[0] === 'name') {
    name = _arr[1]
  }
})

花了这么大工夫就为了拿到query中name字段的值,其实有更简单的方法,一行代码就可以搞定


巧用正则match

我们来看一下一行代码怎么拿到的


const name = location.search.match(/name=([^&]*)/)[1]

这里介绍一次match方法,match方法返回一个数组,数组中索引0为正则表达式匹配到的全部字符;
比如这里的字符串如果为?name=xiaoming&id=123索引0就为‘name=xiaoming‘
0以后的索引为正则表达式匹配的组,即为()内的内容,上面只有一个组就是([^&]*),所以直接拿到就是‘小明‘,所以上面的代码直接拿索引1就是对应的name值;

最后下班,又是充实的一天~~~

强迫症!一行代码拿到url特定query的值

原文:https://www.cnblogs.com/songbw/p/10951352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!