项目中有时会遇到对数据进行修改,比如对地址进行修改。前端获取的地址数据,例如'内蒙古自治区锡林郭勒盟正镶白旗前进大街2699号'。很显然是一个字符串类型,对字符串进行切割划分,是指按照“省-市-区(县)-具体地址”的格式,方便对数据进行操作.
直接上代码:
var str = '内蒙古自治区锡林郭勒盟正镶白旗前进大街2699号'
var reg = /.+?(省|市|自治区|自治州|行政区|盟|旗|县|区)/g // 省市区的正则
const area = str.match(reg) // 分割省市区
// console.log(area) // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗']
var len = 0
for (var i = 0; i < area.length; i++) { // 获取省市区的长度
len += area[i].length
}
area.push(str.substring(len)) // 获取省市区之后的字符串
console.log(area) // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗', '前进大街2699号']
for (var j = 0; j < area.length; j++) {
console.log(area[j])
}
// 内蒙古自治区
// 锡林郭勒盟
// 正镶白旗
// 前进大街2699号
var str = '湖北省武汉市江夏区文化大道10号'
var reg = /.+?(省|市|自治区|自治州|行政区|盟|旗|县|区)/g // 省市区的正则
const area = str.match(reg) // 分割省市区
// console.log(area) // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗']
var len = 0
for (var i = 0; i < area.length; i++) { // 获取省市区的长度
len += area[i].length
}
area.push(str.substring(len)) // 获取省市区之后的字符串
console.log(area) // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗', '前进大街2699号']
for (var j = 0; j < area.length; j++) {
console.log(area[j])
}