更新记录
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仅作参考。 - 组件内
runParse含console.log输出,上线前可按需在源码中关闭。

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 3
赞赏 0
下载 11844365
赞赏 1911
赞赏
京公网安备:11010802035340号