截取地址
最近有个需求是为了保护隐私把具体地址模糊掉,截取到区级以上例:北京市东城区长安街 变成 北京市东城区;
以下是逻辑代码(台湾省不再考虑范围之内):
function AddressHiding(address) {
var HideAddress;
address = address.substring(0, address.indexOf(" "));
if (address.indexOf("海南省") != -1) {
if (address.indexOf("自治县") != -1) {
HideAddress = address.substring(0, address.indexOf("自治县") + 3);
} else if (address.indexOf("县") != -1) {
HideAddress = address.substring(0, address.indexOf("县") + 1);
} else if (address.indexOf("市") != -1) {
HideAddress = address.substring(0, address.indexOf("市") + 1);
}
} else if (address.substring(0, 3).indexOf("省") != -1) {
//省情况
if (address.indexOf("自治州") != -1) {
if (address.indexOf("市") != -1) {
HideAddress = address.substring(0, address.indexOf("市") + 1);
} else if (address.indexOf("自治县") != -1) {
HideAddress = address.substring(0, address.indexOf("自治县") + 3);
} else if (address.indexOf("县") != -1) {
HideAddress = address.substring(0, address.indexOf("县") + 1);
}
} else if (address.indexOf("市") != -1) {
if (address.indexOf("自治县") != -1) {
HideAddress = address.substring(0, address.indexOf("自治县") + 3);
} else if (address.indexOf("县") != -1) {
HideAddress = address.substring(0, address.indexOf("县") + 1);
} else if (address.indexOf("区") != -1) {
HideAddress = address.substring(0, address.indexOf("区") + 1);
} else if (address.substring(address.indexOf("市") + 1, address.length).indexOf("市") != -1) {
HideAddress = address.substring(0, address.substring(address.indexOf("市") + 1, address.length).indexOf("市") + address.indexOf("市") + 2);
}
}
//-----------------------------------------------------------------------------------------
} else if (address.indexOf("自治区") != -1) {
//自治区情况
if (address.indexOf("地区") != -1) {
if (address.indexOf("自治县") != -1) {
HideAddress = address.substring(0, address.indexOf("自治县") + 3);
} else if (address.indexOf("市") != -1) {
HideAddress = address.substring(0, address.indexOf("市") + 1);
} else if (address.indexOf("县") != -1) {
HideAddress = address.substring(0, address.indexOf("县") + 1);
}
} else if (address.indexOf("盟") != -1) {
if (address.indexOf("旗") != -1) {
HideAddress = address.substring(0, address.indexOf("旗") + 1);
} else if (address.indexOf("县") != -1) {
HideAddress = address.substring(0, address.indexOf("县") + 1);
} else if (address.indexOf("市") != -1) {
HideAddress = address.substring(0, address.indexOf("市") + 1);
}
} else if (address.indexOf("自治州") != -1) {
if (address.indexOf("自治县") != -1) {
HideAddress = address.substring(0, address.indexOf("自治县") + 3);
} else if (address.indexOf("县") != -1) {
HideAddress = address.substring(0, address.indexOf("县") + 1);
} else if (address.indexOf("区") != -1) {
HideAddress = address.substring(0, address.indexOf("区") + 1);
} else if (address.indexOf("市") != -1) {
HideAddress = address.substring(0, address.indexOf("市") + 1);
}
} else if (address.indexOf("市") != -1) {
if (address.indexOf("旗") != -1) {
HideAddress = address.substring(0, address.indexOf("旗") + 1);
} else if (address.indexOf("县") != -1) {
HideAddress = address.substring(0, address.indexOf("县") + 1);
} else if (address.substring(address.indexOf("自治区") + 3, address.length).indexOf("区") != -1) {
HideAddress = address.substring(0, address.substring(address.indexOf("自治区") + 3, address.length).indexOf("区") + address.indexOf("自治区") + 4);
} else if (address.indexOf("自治县") != -1) {
HideAddress = address.substring(0, address.indexOf("自治县") + 3);
} else if (address.substring(address.indexOf("市") + 1, address.length).indexOf("市") != -1) {
HideAddress = address.substring(0, address.substring(address.indexOf("市") + 1, address.length).indexOf("市") + address.indexOf("市") + 2);
}
}
//-----------------------------------------------------------------------------------------
} else if (address.substring(0, 3).indexOf("市") != -1) {
//直辖市情况
if (address.indexOf("区") != -1) {
HideAddress = address.substring(0, address.indexOf("区") + 1);
}
//-----------------------------------------------------------------------------------------
} else if (address.indexOf("特别行政区") != -1) {
//特别行政区情况
HideAddress = address.substring(0, address.indexOf("特别行政区") + 5);
}
return HideAddress;
}
使用时只需要:
var a1 = "甘肃省临夏回族自治州临夏市光明路9号光明路 建行临夏分行家属小区 附近";
console.log(AddressHiding(a1))