• url地址截取


    面试题:

    将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))

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

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

    加油!

  • 相关阅读:
    第二次结对编程作业
    团队项目-需求分析报告
    Beta阶段第四次会议
    Beta阶段第三次会议
    Beta阶段第二次会议
    Beta阶段第一次会议
    Beta设计和计划
    项目展示
    事后分析
    α版本发布说明
  • 原文地址:https://www.cnblogs.com/xufeng1994/p/10422685.html
Copyright © 2020-2023  润新知