首页 > Web开发 > 详细

url地址截取

时间:2019-02-23 15:29:25      阅读:137      评论:0      收藏:0      [点我收藏+]

面试题:

将let url = ‘https://www.baidu.com/s?wd=js&rsv_spt=1‘,截取为{wd: "js", rsv_spt: "1"}

第一种方法--字符串拆分

所用到方法:

indexOf检测出当前字符在字符串中第一次出现的索引,若不存在返回-1

split按照某个字符串进行分割,返回分割后的数组

        let url = ‘https://www.baidu.com/s?wd=js&rsv_spt=1‘
        function queryURLParameter(url) {
            const obj = {}
            if (url.indexOf(‘?‘) < 0) return obj
            url = url.split(‘?‘)[1]
            urlArr = url.split(‘&‘)
            urlArr.forEach(function(item){
                let newArr = item.split(‘=‘)
                obj[newArr[0]] = newArr[1]
            })
            return obj
        }
        console.log(queryURLParameter(url))

第一种方法--利用正则解析法

        let url = ‘https://www.baidu.com/s?wd=js&rsv_spt=1‘
        function queryURLParameter(url){
            let reg = /([^?&=]+)=([^?&=]+)/g
            let obj = {}
            url.replace(reg,function(){
                obj[arguments[1]] = arguments[2]
            })
            return obj
        }
        console.log(queryURLParameter(url))

其中的回调函数就是当满足上面正则,有几个执行几次

我发现了”^”这个字符在中括号”[]”中被使用的话就表示字符类的否定,如果不是的话就是表示限定开头。我这里说的是直接在”[]”中使用,不包括嵌套使用。 
其实也就是说”[]”代表的是一个字符集,”^”只有在字符集中才是反向字符集的意思。

加油!

url地址截取

原文:https://www.cnblogs.com/xufeng1994/p/10422685.html

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