一个细节的思考——严谨判定字符串的意义

有这么一个需求,判断URL是不是包含from参数,如果只是简单粗暴得用indexOf判断它是不是包含这个字符串,可能会有个问题,比如要求的参数是from=push,但是要是参数是afromb=,也会判定为true,这个是不符合逻辑的,所以应该用正则来处理这个看似简单的需求。

错误示例:

 if (window.location.search.substr(1).indexOf('from') !== -1) 

正确姿势:

 getQueryString(name) {
       const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`)
       const r = window.location.search.substr(1).match(reg)
       console.log('r' + r)
       if (r != null) return decodeURIComponent(r[2])
       return null
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值