html5 截取字符串,怎么截取指定的字符串

如何截取kind中的值就是ASN.FORM.345,但每次kind的值又不确定,而且出现的位置不确定,它的长度不确定,感觉没办法解决啊。确定的是每个字段都以&分割,可不可以以&把它转成对象….老哥们有思路解决吗

‘id=TGT2573&type=view&kind=ASN.FORM.345’

回答

function parseParams(str) {

const result = {}

str.split('&').forEach(item => {

result[item.split('=')[0]] = item.split('=')[1]

})

return result

}

const params = parseParams('id=TGT2573&type=view&kind=ASN.FORM.345')

const kind = params.kind

d73462cac9b57498586e4b83030962c1.png

其实你这个最常见的场景就是URL的search参数取值而已

function urlToObj(params) {

let data = params

let result = {}

data.split('&').forEach(function (item, index) {

let arr = item.split('=')

result[arr[0]] = arr[1] || ''

})

return result

}

const obj = urlToObj('id=TGT2573&type=view&kind=ASN.FORM.345')

const kind = obj.kind || obj['kind']

console.log(kind)

function getUrlParam(name, string) {

//构造一个含有目标参数的正则表达式对象

const reg = new RegExp("(^|&)" + name.toLowerCase() + "=([^&]*)(&|$)");

//匹配目标参数

const r = string.match(reg);

if (r != null) {

//返回参数值

return unescape(r[2]);

}

return null;

}

const str = 'id=TGT2573&type=view&kind=ASN.FORM.345'

const kind = getUrlParam('kind', str)

// console.log(kind) => ASN.FORM.345

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值