将“levleID 1001 userID123890 name章三012” 这个字符串中所有的数字找到。
- findNumberByStr (str) {
- let reg = /[0-9][0-9]*/g
- return str.match(reg)
- }
- let str1 = 'levleID 1001 userID123890 name章三012'
- console.log(findNumberByStr(str1)) // ['1001', '123890', '012']
什么情况下,会需要用到这种呢。
例如接口用户列表返回的唯一标识为用户等级和用户id合并组成,此时,我们需要快速的拿到用户ID
- let arr = [
- {id: 'Token123456', name: '用户来源token'},
- {id: 'AccountID124564', name: '用户来源account'}
- ]
- let res = arr.map(im => {
- return findNumberByStr(im.id)[0]
- })
- console.log(res, '得到的ID结果') // ['123456', '124564'] '得到的ID结果'