用js把地区字符串格式化为省、市、区

news2024/12/26 11:27:30

用js把地区信息格式化为省、市、详细信息,结果如下

 代码如下

formatter("广东省深圳市南山区深南大道10000号")
formatter("西藏自治区拉萨市城关区北京中路35号")
formatter("四川省阿坝藏族羌族自治州九寨沟县漳扎镇301省道")
formatter("北京市东城区长安街")
formatter("香港特别行政区油尖旺区东区金钟夏悫道18号")
formatter("台湾省台北市松山区敦化北路340-9号")

/**
 * 格式化地区信息
 * @param {String} str 要格式化的地区信息
 * @returns Object {province: "", city: "", detail: ""}
 */
function formatter(str = '') {
    let result = {
        province: '',
        city: '',
        detail: ''
    }

    let provinceRegExp = /(.+?(省|自治区))(.*)/
    let provinceList = str.match(provinceRegExp)

    let restStr = str
    if (provinceList) {
        result.province = provinceList[1]
        restStr = provinceList[3]
    }

    let cityRegExp = /(.+?(市|自治州|行政区))(.*)/
    let cityList = restStr.match(cityRegExp)
    if (cityList) {
        result.city = cityList[1]
        result.detail = cityList[3]
    }else {
        result.detail = restStr
    }

    console.log(result)
    return result
}

因为直辖市、特别行政区的地名比较短,方便使用,就把这类地区存入city字段中了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/796227.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cass--单选不累加设置

打开软件,在空白处右击--选项--选择,如下: 完成后,点击确定按钮即可。

Vue学习Day3——生命周期\组件化

一、Vue生命周期 Vue生命周期:就是一个Vue实例从创建 到 销毁 的整个过程。 生命周期四个阶段:① 创建 ② 挂载 ③ 更新 ④ 销毁 1.创建阶段:创建响应式数据 2.挂载阶段:渲染模板 3.更新阶段:修改数据,更…

elment-ui的侧边栏 开关及窗口联动

<template><div class"asders"><el-aside width"200px"><div class"boxbody"><div>源码外卖</div><el-switch v-model"isCollapse" :active-value"true" :inactive-value"fals…

【U8+】财务三大UFO报表的勾稽关系

【三大报表】 资产负债表、利润表、现金流量表&#xff0c;称之为企业三大报表&#xff0c;也是最常见、常用的报表。 【勾稽关系】 核对报表的勾稽关系之前&#xff0c;需要保证“资产负债表”平衡&#xff0c;否则无法正确勾稽检查&#xff1b;资产负债表、利润表、现金流量…

护眼台灯哪个牌子好?三款主流品牌横向对比测评

随着暑假的到来&#xff0c;不少家长想添置或者换新的护眼台灯给孩子使用&#xff0c;护眼台灯正是线下一款炙手可热的护眼神器&#xff0c;很多家长纷纷想给自己孩子买一款真正护眼的台灯。不过面对市场上各种品牌和型号的护眼台灯&#xff0c;对于不熟悉或者是第一次购买护眼…

机器学习深度学习——softmax回归的简洁实现

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——softmax回归从零开始实现 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你…

Java并发编程第2讲——线程基础

目录 一、线程简介 1.1 什么是线程 1.2 线程的组成 1.3 线程的特点 1.4 Java的main方法 二、线程的创建与启动 2.1 线程的创建 2.1.1 继承Thread类&#xff08;无返回值&#xff09; 2.1.2 实现Runnable接口&#xff08;无返回值&#xff09; 2.1.3 实现Callable接口…

【Luogu】 P4331 [BalticOI 2004] Sequence 数字序列

题目链接 点击打开链接 题目解法 首先做一个重要的转化&#xff1a;把 b i b_i bi​ 单调上升变为 b i b_i bi​ 单调不降 如何转化&#xff1f;将 a i − i a_i-i ai​−i 变成新的 a i a_i ai​&#xff0c;将 b i − i b_i-i bi​−i 变新的 b i b_i bi​&#xff…

练习时长两年半的双机热备

1.双机热备技术产生的背景 传统的组网方式如下左图所示&#xff0c;内部用户和外部用户的交互报文全部通过防火墙A。如果防火墙A出现故障&#xff0c;内部网络中所有以防火墙A作为默认网关的主机与外部网络之间的通讯将中断&#xff0c;通讯可靠性无法保证。防火墙作为安全设备…

金蝶云星空与旺店通·企业版对接集成物料查询连通创建货品档案(cp_KW货品同步)

金蝶云星空与旺店通企业版对接集成物料查询连通创建货品档案(cp_KW货品同步) 接入系统&#xff1a;金蝶云星空 金蝶K/3Cloud结合当今先进管理理论和数十万家国内客户最佳应用实践&#xff0c;面向事业部制、多地点、多工厂等运营协同与管控型企业及集团公司&#xff0c;提供一个…

前端实现导出excel表格(合并表头)

需求&#xff1a;勾选行导出为excel表格&#xff08;合并表头 &#xff09; 一、安装插件 npm install --save file-saver xlsx运行项目报如下警告的话 运行npm install xlsx0.16.0 --save 来降低版本号&#xff08;最初我安装的版本号是0.18.16的版本&#xff09;再次运行项目…

VS构建项目报错信息及解决办法01

报错信息及解决1&#xff1a; 报错信息详情&#xff1a;1>MSVCRT.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 _WinMain16&#xff0c;该符号在函数 "int cdecl scrt_common_main_seh(void)" (?__scrt_common_main_sehYAHXZ) 中被引用 原因&…

SAP RFC介绍(sRFC/aRFC/tRFC/qRFC/pRFC)

异步RFC&#xff1a; aRFC后缀&#xff1a; STARTING NEW TASK CALL FUNCTION - STARTING NEW TASK / RECEIVE / WAIT UNTIL tRFC 后缀&#xff1a; IN BACKGROUND TASK. CALL FUNCTION - IN BACKGROUND TASK qRFC 是tRFC的一个扩展。它允许你将多个tRFC调用序列化为一个…

RocketMQ集群4.9.2升级4.9.6版本

本文主要记录生产环境短暂停机升级RocketMQ版本的过程 一、整体思路 1.将生产环境MQ4.9.2集群同步到测试环境&#xff0c;并启动&#xff0c;确保正常运行。 2.参照4.9.2配置4.9.6集群 3.停掉4.9.2集群&#xff0c;启动4.9.6集群&#xff0c;测试确保正常运行。 4.停掉4.9.6集…

Python Web开发技巧VII

目录 装饰器inject_serializer 装饰器atomic rebase git 清理add的数据 查看git的当前工作目录 makemigrations文件名称 action(detailTrue, methods["GET"]) 如何只取序列化器的一个字段进行返回 Response和JsonResponse有什么区别 序列化器填表和单字段如…

理解Android中不同的Context

作者&#xff1a;两日的blog Context是什么&#xff0c;有什么用 在Android开发中&#xff0c;Context是一个抽象类&#xff0c;它是Android应用程序环境的一部分。它提供了访问应用程序资源和执行各种操作的接口。可以说&#xff0c;Context是Android应用程序与系统环境进行交…

LoadRunner使用教程

1. LoadRunner简介 LoadRunner是一款广泛使用的性能测试工具 可以对各种应用程序进行性能测试&#xff0c;包括Web应用程序、移动应用程序、企业级应用程序等。它提供了一个综合的性能测试解决方案&#xff0c;包括测试计划设计、脚本录制、测试执行、结果分析和报告生成等功…

三、函数-5.流程函数

一、常见函数 【对比】 二、示例 1、if 和 ifnull -- if(value, t, f) 如果value为true&#xff0c;则返回t&#xff0c;否则返回f ok select if(true, ok, error);-- ifnull(value1, value2) 如果value1不为空&#xff0c;返回value1&#xff0c;否则返回value2&#…

MFC表格控件CListCtrl的改造及用法

1、目的 简单描述MFC的表格控件使用方法。Qt适用习惯了以后MFC用的比较别扭&#xff0c;因此记录一下以备后续复制代码使用。由于MFC原生的CListCtrl比较局限&#xff0c;比如无法改变表格的背景色、文字颜色等设定&#xff0c;因此先对CListCtrl类进行重写&#xff0c;以便满足…

哪些报表工具更适合中国企业?看完本文就知道了

企业级报表工具是指能够处理大量数据、支持多种数据源连接、具有强大的数据分析和可视化功能的工具。进入大数据时代&#xff0c;企业数据量剧增、分析需求精细化且要求高效率、高灵活自主性&#xff0c;一般都采用BI报表工具来做智能化、可视化数据分析&#xff0c;推动企业的…