《JavaScript忍者秘籍》——第十章 正则表达式

因一道面试题再次学习了正则表达式,还有些不明白的地方,以后会系统学习正则表达式

如何获取当前页面的参数?

比如说获取127.0.0.1/?a=1&b=2&c=3,我想获取b的参数。

location.search

这道题考察的是JS Web API的用法,location.search获取“/"获取的数据,然后用正则提取出来。

// // 传统方式
function query(name) {
    console.log(2);
    const search = location.search.substr(1) // 类似 array.slice(1)
    console.log(search);
    // search: 'a=10&b=20&c=30'
    const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i')
    console.log(res);
    if (res === null) {
        return null
    }
    return res[2]
}
query('b')

URLSearchParams

// URLSearchParams
function query(name) {
    const search = location.search
    const p = new URLSearchParams(search)
    console.log(p);
    return p.get(name)
}
console.log( query('b') )

正则表达式