更新记录

1.0.0-20260508(2026-05-08) 下载此版本

地址解析、智能识别地址、智能地址解析。示例图片是在微信开发者工具内截取的,楼主已测试过小程序、安卓 App 和 H5,均能正常识别。其他设备(如 iOS)尚未测试。


平台兼容性

uni-app(3.7.7)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

AddressParse 智能地址解析组件使用说明

功能概述

  • 支持收货 / 快递 / 物流等多行粘贴文本。
  • 兼容抖音、拼多多、京东、淘宝等常见格式(含「收货人、手机号、所在地区、详细地址」等标签)。
  • 解析结果包含姓名、手机、固话、省 / 市 / 区(镇)/ 街道、完整地址及置信度粗评。

模板基础用法

<template>
  <view>
    <lx-addressParse />
  </view>
</template>

用户粘贴文本后点击「智能识别」,组件内部会调用 parseSmartAddress 并在下方展示结果。

Props

属性 类型 默认值 说明
value String '' 受控输入:与内部文本框同步;外部变更会写入 pasteText
placeholder String 请粘贴整段地址信息,例如:张三 *** 广东省深圳市南山区科技园南路1号 多行输入框占位符。
maxlength Number 800 输入最大长度。
parseOnInput Boolean false true 时,输入过程中自动解析(带防抖)。
debounceMs Number 400 parseOnInput 开启时的防抖间隔(毫秒)。

事件

事件名 参数 说明
input (pasteText: string) 文本框内容变化时触发,便于 v-model 或父级保存原始粘贴串。
parsed (result: ParseResult) 每次执行「智能识别」或自动解析成功后触发,用于提交表单、回填等。
clear 点击「清空」后触发。

与 v-model 配合

组件对 value + input 做了常规约定,可使用:

<lx-addressParse v-model="addressRaw" @parsed="onParsed" />
methods: {
  onParsed(result) {
    // 使用 result.name、result.mobile 等
  }
}

通过 ref 调用

父组件可拿到子组件引用后调用 parse 方法:

方法 参数 返回值 说明
parse(text?) text 可选,string ParseResult 若传入 text,会先写入输入框并 input 该值,再执行解析;否则解析当前框内内容。
<lx-addressParse ref="addr" />
<button @click="submit">解析并提交</button>
methods: {
  submit() {
    const result = this.$refs.addr.parse()
    // 或 this.$refs.addr.parse('张三 *** 广东省深圳市南山区…')
  }
}

解析结果对象(ParseResult)

parsed 事件与 parse() / 内部 runParse() 所抛出 / 返回的对象结构如下(与 parseSmartAddress.js 一致):

字段 类型 说明
name string 姓名
mobile string 11 位手机号
tel string 固话(若有)
phone string 主号码(优先手机,否则固话)
province string 省 / 直辖市 / 自治区规范名
city string 市 / 州 / 盟
district string 区 / 县 / 旗 / 镇 / 乡 / 街道(直筒子市等场景下镇级可能出现在此字段)
street string 门牌等剩余详细地址
detailAddress string 省 + 市 + 区(镇)+ 街道拼接
address string detailAddress 相同
rawText string 原始输入全文
confidence 'low' \| 'medium' \| 'high' 根据姓名、手机、省、街道等是否填全做的粗粒度完整度评价(非语义准确度)

界面展示时,confidence 会映射为:(high)、(medium)、(low)。

仅使用解析函数(无 UI)

若只需解析逻辑,可直接引入:

import parseSmartAddress from '@/components/lx-addressParse/parseSmartAddress.js'

const result = parseSmartAddress('粘贴的整段文本')

行为与组件内「智能识别」一致。

注意事项

  • 解析为启发式规则,复杂或异常格式可能出现漏识、错分;confidence 仅作参考。
  • 组件内 runParseconsole.log 输出,上线前可按需在源码中关闭。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。