iOS开发

iOS 地址智能解析器(收货人或寄件人)

2019-07-17  本文已影响0人  言子玉

场景

在开发业务需求(地址管理)时,碰到了需要“解析从其他地方复制的文本”。

复制的文本很可能是地址文本,产品希望解析处理信息,将姓名、电话、省市区、详细地址,分别填入到界面上的不同位置。

Do

封装了一个组件库,大家有需要的拿去。

BHAddressParser

简介

能够识别多种结构的地址信息

兼容解析常用平台App的复制地址信息

结合NSDataDetector智能高效识别,未直接使用地址库检索

支持的格式

姓名+地址+电话: 马云北京市朝阳区富康路姚家园3楼15000000000

姓名+电话+地址: 马云150-0000-0000北京市朝阳区富康路姚家园3楼

地址+电话+姓名: 北京市朝阳区富康路姚家园3楼15000000000马云

地址+姓名+电话: 北京市朝阳区富康路姚家园3号楼5单元3305马云15000000000

电话+姓名+地址: 15000000000马云北京市朝阳区富康路姚家园3号楼5单元3305邮编038300

电话+地址+姓名: 15000000000北京市朝阳区富康路姚家园3号楼5单元3305马云

复制-淘宝-收货人:

收货人: 学宝\n手机号码: 13888888888\n所在地区: 浙江省杭州市江干区白杨街道\n详细地址: 天真小区顽皮苑6幢3单元2019室

复制-微信-我的地址:

联系人:学宝\n手机号码:05716666888\n地区:浙江省 杭州市 江干区\n详细地址:经济技术开发区新加坡杭州科技园188幢\n邮政编码:310016

复制-京东-地址管理:

姓名:学宝\n地址:安徽合肥市瑶海区城区 合肥市瑶海区胜利路126号

不支持的格式

马云北京市朝阳区富康路姚家园3楼150-0000-0000

北京市朝阳区富康路姚家园3楼150-0000-0000马云

说明:

1. 因电话用短线分割,且电话位于地址后面,解析时,会认为此处在描述详细地址,譬如16-1612室的场景。

2. 只是不支持对姓名和电话的解析。

3. iPhone自带的中文语言包需要被激活过。Todo:iPhone“设置“-“语言与地区”-”首选语言顺序“中必须要包含”中文“。(2020-9-14更)(好多同学们拿到demo解析不成功,很可能是因为此。深表抱歉,之前没说清楚)

言子玉 · 出品   @2019-07-17

仰望星空,让泪水倒流

上一篇下一篇

猜你喜欢

热点阅读