Coder Social home page Coder Social logo

ldwonday / zh-address-parse Goto Github PK

View Code? Open in Web Editor NEW
716.0 9.0 130.0 4.53 MB

全网识别准确度最高的**大陆收货地址智能解析

Home Page: https://ldwonday.github.io/zh-address-parse/

License: MIT License

JavaScript 78.69% HTML 16.91% Shell 1.90% SCSS 2.49%
address delivery china parser

zh-address-parse's Introduction

China's delivery address parse

New Feature

增加自定义解析国家统计局数据,数据更新至 2020-11-20,代码:https://github.com/ldwonday/zh-address-parse/blob/master/app/lib/getMcaGovData.js

Preview

Test page

Syntax

AddressParse(address[, [option|0|1]])

option可选参数属性列表

参数名 说明 类型 是否必填 默认值
type 解析方式 Number 0
textFilter 预过滤字段 Array []
nameMaxLength 中文名最大长度 Number 4
extraGovData 额外的省市区数据 { city?: GovData[]; area: GovData[]; province: GovData[] } -

extraGovData 定义如下:

type GovData = {
    code: string;
    provinceCode?: string;
    cityCode?: string;
    name: string;
}

Usage

npm

npm i zh-address-parse -s

import AddressParse from 'zh-address-parse'

import

import AddressParse from './dist/zh-address-parse.min.js'
// options为可选参数,不传默认使用正则查找
const options = {
  type: 0, // 哪种方式解析,0:正则,1:树查找
  textFilter: [], // 预清洗的字段
  nameMaxLength: 4, // 查找最大的中文名字长度
  extraGovData: { city: [{ name: 'name', code: 'code', provinceCode: 'provinceCode' }], province: [{ name: 'name', code: 'code' }], area: [{ name: 'name', code: 'code', provinceCode: 'provinceCode', cityCode: 'cityCode' }] }
}
// type参数0表示使用正则解析,1表示采用树查找, textFilter地址预清洗过滤字段。
const parseResult = AddressParse('your address', options)
// The parseResult is an object contain { province: '', name: '', city: '', area: '', detail: '', phone: '', postalCode: '' }

script引入

<script async defer src="./zh-address-parse.min.js"></script>
<script>
    const parse = () => {
        const onTextAreaBlur = (e) => {
            const address = e.target.value
            const parseResult = window.ZhAddressParse(address, { type: 0, textFilter: ['电話', '電話', '聯系人'] })
            // The parseResult is an object contain { province: '', name: '', city: '', area: '', detail: '', phone: '', postalCode: '' }
            console.log(parseResult)
            $('#result').empty();
            $('#result').append(`<ul>${Object.entries(parseResult).map(([k, v]) => `<li>${k}${v}</li>`).join('')}</ul>`)
        }
        $('#addressContent').bind('input propertychange', onTextAreaBlur)

        $('#addressList li').on('click', (e) => {
            $('#addressContent').val(e.target.innerText)
            $('#addressContent')[0].dispatchEvent(new Event('input'));
        })
    }

    parse()
</script>

Setup

Install dependencies

$ npm install

Development

Run the local webpack-dev-server with livereload and autocompile on http://localhost:8080/

$ npm run dev

Deployment

Build the current application

$ npm run build

Donate

您的支持是我前进的动力,更好的支持开源事业!~

Developed with Open Source Licensed WebStorm

zh-address-parse's People

Contributors

dependabot[bot] avatar hongxuang avatar ldwonday avatar ljw-codeking avatar lukesyy avatar phoeson avatar sxzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zh-address-parse's Issues

人名与地名混淆了

输入:南宫雪 重庆市县酉阳土家族苗族自治县龙潭镇龙潭一中新校门17648207282

期望:
phone:17648207282
province:重庆市
city:
area:
detail:县酉阳土家族苗族自治县龙潭镇龙潭一中新校门
name:南宫雪
postalCode:

实际:
phone:17648207282
province:河北省
city:邢台市
area:南宫市
detail:重庆市县酉阳土家族苗族自治县龙潭镇龙潭一中新校门
name:雪
postalCode:

校验非常不准

image

张彤,15776993213,黑龙江省 大兴安岭地区 加格达奇区 铁路南小区29号楼4单元5658sf

上面2个都不行。

无法解析市级县

如 重庆市 垫江县 太平镇
province:重庆市
city:县
area:垫江县

**和田市无法被解析成"市"

**维吾尔自治区和田地区和田市xx小区

识别结果
phone:
province:**维吾尔自治区
city:和田地区
area:
detail:市xx小区
name:和田
postalCode:

希望能改进地址的识别模糊化,很多地址识别太离谱了

希望能改进地址的识别模糊化,很多地址识别太离谱了,地址的识别要模糊化不要太遵守地址列表。
看看一下地址:
王小梅15273551234湖南省郴州市桂东县桂东县清泉镇
莫席辉13667721234广西壮族自治区柳州市柳北区跃进路42号4栋20楼
韩仁伟,18555605568,安徽省安庆市太湖县新仓镇,塔山村,前进组

直辖市地址解析失败

使用测试地址:https://ldwonday.github.io/zh-address-parse/
上海市黄浦区瞿溪路1032弄3号103
预期结果
province:上海市
city:上海市
area:黄浦区
detail:瞿溪路1032弄3号103
……
实际结果
province:上海市
city:徐汇区
area:
……

有如地址"重庆市涪陵区荔枝街道天籁城12栋29-10",也得不到预期结果

需要java语言解析^_^

你好,报一个问题

深圳市罗湖区凤凰路中山花园1栋582室,刘蓝琴,电話13111111111
这个地址是你自己写在上面的,然后都不对,是不是要把“电话”这种关键字先剔除掉啊

姓名和城市识别出错

邓正怡, 13808880090, **,广东,深圳市,福田区,莲花街道,, 长城盛世家园8栋88G

识别结果
phone:13808880090
province:广东省
city:深圳市
area:福田区
detail:邓正怡**莲花街道长城盛世家园8栋88G
name:广东
postalCode:
areaCode:440304

两个识别问题

1。地址前面有“**”或其它文字会被识别到“name”里面去~
2。区县后面字数如果少于中文名最大长度会被识别到“name”里面去~如“江西省抚州市临川区公安宿舍”和“辽宁省盘锦市盘山县东郭镇”

打算试着开个restful的接口,没有成功

git上十几个解析地址的项目,试下来这个是最靠谱的。我们的项目是java的,需要开个restful的接口获取结果。无奈本人实在是前端水平太差,没有成功。

哪位老大肯出手帮助一下吗,万分感谢。

2021年新增区划无法被解析

民政部未提供2021年的完整区划列表,只给了变更列表,能否提供自定义方式,手动添加新区划,或修改已有区划?

行政区域划分码缺了很多县级地址

比如说,广东省中山市下还有县级的地址如小榄镇,东区街道等等的。直接用那份行政区域划分码来匹配,导致匹配不到这些没有在表里的那些县级地址,省市区三级就缺了区了。

识别不了收货人为英文名的情况

eg:
200801000001,Mary,13688888888,济源市沁园街道花花花路888号
识别结果:
phone:13688888888
province:河南省
city:济源市
area:
detail:沁园街道花花花路888号Mary
name:
postalCode:
areaCode:

能实现批量处理吗?

我这边有一个excel表格,里面包含了几万条地址信息,请问大佬,怎么能够实现批量处理啊?我是小白,完全不会用……

建议增加识别街道名称

街道名称数据可以使用国家邮局的。

如:
收货人: 杨燕艳
手机号码: 13111111111
所在地区: 广东省深圳市龙岗区龙岗街道
详细地址: 格水村三巷十号三楼

期望:
姓名:杨燕艳
电话:13111111111
邮编:undefined
省:广东省
市:深圳市
区:龙岗区
街道:龙岗街道
详细地址:格水村三巷十号三楼

地区未识别出来

姓名:张三 地址:云南迪庆州德钦县升平镇 214国道西50米梅里雪山国家公园-雾浓顶景区润境梅里设计师酒店 13911111111

phone:13911111111
province:云南省
city:迪庆藏族自治州
area:
detail:214国道西50米梅里雪山国家公园-雾浓顶景区润境梅里设计师酒店州德钦县升平镇
name:张三
postalCode:

少了 area

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.