js截取地址到区级

截取地址

最近有个需求是为了保护隐私把具体地址模糊掉,截取到区级以上例:北京市东城区长安街 变成 北京市东城区;
以下是逻辑代码(台湾省不再考虑范围之内):


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))

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值