filterCity.js 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. * 过滤城市字段
  3. * 去掉省市区自治区等文字,匹配tms的地址库,兼容老数据
  4. */
  5. const cityReg = /省|市|自治区|自治州|自治县|特别行政区|壮族|回族|维吾尔/g
  6. const areaReg = /回族自治县|满族自治县|满族蒙古族自治县|蒙古族自治县|蒙古自治州|朝鲜族自治州|朝鲜族自治县|畲族自治县|土家族自治县|土家族苗族自治州|侗族自治县|苗族侗族自治县|苗族侗族自治州|苗族自治县|瑶族自治县|壮族瑶族自治县|各族自治县|毛南族自治县|仫佬族自治县|黎族自治县|黎族苗族自治县|苗族土家族自治县|土家族苗族自治县|羌族自治县|彝族自治县|彝族自治州|藏族自治县|藏族羌族自治州|仡佬族苗族自治县|布依族苗族自治州|苗族布依族自治县|布依族苗族自治县|布依族苗族自治州|水族自治县|彝族回族苗族自治县|傈僳族自治州|独龙族怒族自治县|白族普米族自治县|哈尼族彝族自治州|苗族瑶族傣族自治县|傣族自治州|彝族傣族自治县|哈尼族彝族傣族自治县|白族自治州|彝族自治县|彝族回族自治县|彝族自治县|彝族自治州|藏族自治州|傈僳族自治县|纳西族自治县|壮族苗族自治州|彝族哈尼族拉祜族自治县|哈尼族彝族自治县|傣族彝族自治县|哈尼族彝族自治县|哈尼族自治县|拉祜族自治县|傣族拉祜族佤族自治县|佤族自治县|傣族佤族自治县|拉祜族佤族布朗族傣族自治县|回族彝族自治县|彝族苗族自治县|傣族景颇族自治州|哈萨克族自治县|裕固族自治县|保安族东乡族撒拉族自治县|回族土族自治县|撒拉族自治县|土族自治县|蒙古族藏族自治州|蒙古族藏族自治州直辖|哈萨克自治县|哈萨克自治州|锡伯自治县|塔吉克自治县|柯尔克孜自治州/g
  7. const countyReg = /区|县|经济开发区/g
  8. export const formatCity = (name) => {
  9. var tempName = name
  10. if (tempName.length > 3) {
  11. if (tempName.indexOf('城区') > -1) {
  12. tempName = tempName.replace('城区', '')
  13. }
  14. if (tempName.indexOf('地区') > -1) {
  15. tempName = tempName.replace('地区', '')
  16. }
  17. }
  18. if (tempName.length > 2) {
  19. if (tempName.indexOf('和田') === -1) {
  20. tempName = tempName.replace(areaReg, "")
  21. if (tempName.indexOf('市') > -1 && tempName.indexOf('市') !== tempName.length - 1) { // 市不是出现在最后一位,不过滤
  22. if (tempName.indexOf('市市') > -1) { // 如果出现两个市,如津市市,只去掉第一个市字
  23. tempName = tempName.replace('市', "")
  24. } else {
  25. console.log('保留市字:' + tempName)
  26. }
  27. } else {
  28. tempName = tempName.replace(cityReg, "")
  29. }
  30. // 过滤剩余的x族自治县
  31. tempName = tempName.replace('族自治县', "")
  32. // 过滤区县
  33. if (tempName.length > 2) {
  34. if (tempName.indexOf('县区') > -1) {
  35. tempName = tempName.replace('区', "")
  36. } else {
  37. if (tempName.length > 3 && tempName.indexOf('新区') > -1) {
  38. console.log('保留新区:' + tempName)
  39. } else {
  40. tempName = tempName.replace(countyReg, "")
  41. }
  42. }
  43. // tempName = tempName.replace(countyReg, "")
  44. }
  45. }
  46. }
  47. return tempName
  48. }