js对3K-5W这样的数据范围进行处理
//语义化的文字转成数字
function str2number (str) {
let _str = str.substr(-1).toUpperCase()
let number = parseFloat(str) || 0
if (_str == 'W') number *= 10000
else if (_str == 'K') number *= 1000
return number
}
//解析文字,提取成最小最大值范围
function parseRange(text) {
text = text.toUpperCase()
let isMax = text.indexOf('内') > -1
let res = text.match(/([\d\.]+[KW])(?:\-([\d\.]+[KW]))?/) // 1k-1.5W
if (res) {
let min =0 , max = 0
if (typeof res[2] == 'undefined') {
//是xxx
if (isMax) {
max = str2number(res[1])
} else {
min = str2number(res[1])
max = min+1
}
} else {
//是xxx-xxx格式
min = str2number(res[1])
max = str2number(res[2])
}
return [min, max]
}
return false
}
//判断区间 range1(用户预算) 是否包含在 区间range2(选项)内
function inRange(range1, range2) {
if (range1[0] == 0) {
//不考虑最小金额时, 选项最大值内在最大预算内
return range2[1] <= range1[1]
}
return range2[0]<=range1[0] && range2[1] >= range1[1]
}版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/859.html
转载时须注明出处及本声明