美文网首页
正则匹配

正则匹配

作者: 君肄塵 | 来源:发表于2019-02-20 16:06 被阅读7次

    写一个函数,使用正则获取当前浏览器的多参数

    如    http://www.sodacar.com/vehicles?car=13242&station=83212jde  
    返回  {car: "13242", station: "83212jde"}
    

    实现:

    // 方案一
        const parseQueryString = (url) => {
            const reg_url = /^[^\?]+\?([\w\W]+)$/
            const reg_para = /([^&=]+)=([\w\W]*?)(&|$|#)/g
            const arr_url = reg_url.exec(url)
            let ret = {}
            if (arr_url && arr_url[1]) {
                let str_para = arr_url[1]
                let = result
                while ((result = reg_para.exec(str_para)) != null) {
                    // debugger
                    ret[result[1]] = result[2]
                }
            }
            return ret
        }
    // 方案二
        const getParams = (url) => {
            let obj = {}
            const par = /^[^\?]+\?([\w\W]+)$/.exec(url)[1]
            par.replace(/([^&=]+)=([\w\W]*?)(&|$|#)/g, (match, $1, $2) => {
                 obj[$1] = $2
            })
            return obj 
        }
    

    相关文章

      网友评论

          本文标题:正则匹配

          本文链接:https://www.haomeiwen.com/subject/svphyqtx.html