更新记录

1.0.3(2024-01-16)

插件包改为本地引入 方便大家各自维护修改

1.0.2(2024-01-16)

修改示例使用

1.0.1(2023-10-03)

组件优化

查看更多

平台兼容性

收货地址解析、快递地址解析、物流地址解析自动识别 支持pc、h5、微信小程序,自动提取姓名、电话、地址信息,自动识别出省、市、区、街道、姓名、手机号等

Winglau14-address-auto-parse

支持以下数据格式与(淘宝、拼多多、1688的电商网站地址格式)

  1. 北京市朝阳区xx路姚家园x楼x单元3305上官飞雪15000000000
  2. 北京市朝阳区xx路姚家园x楼x单元3305上官飞雪15000000000邮编038300
  3. 上官飞雪 1351111111 浙江省 杭州市 上城区 xx路x号x幢x楼(靠近x幢)
  4. 上官飞雪,1351111111,北京市朝阳区富康路姚家园3楼邮编038300
  5. 上官飞雪1351111111北京市朝阳区富康路姚家园3楼0
  6. 北京市朝阳区xx路姚家园x楼1351111111上官飞雪
  7. 北京市朝阳区xx路姚家园x楼150-0000-0000上官飞雪

不支持的数据格式

不支持富康路姚家园3号楼5单元3301后直接加电话 ex.北京市朝阳区富康路姚家园3号楼5单元330115000000000邮编038300

地址切分规则

  1. 省市区(县)+详细地址(不包括楼、单元、室等等)+电话+邮编+姓名
  2. 省市区(县)+详细地址+楼+单元+室等+姓名+电话+邮编

生成数据格式

{
"province": "北京",
"city": "北京市",
"area": "朝阳区",
"details": "xx路姚家园x楼 上官飞雪",
"name": "7.",
"code": "110105",
"__type": "parseByProvince",
"__parse": true,
"mobile": "15000000000",
"zip_code": "",
"phone": ""
}

具体使用 根据需求修改 获取到地址信息调用parse方法即可

<template>
    <view class="content">
        <view class="title">支持以下数据格式(打印结果请在控制台查看)</view>
        <view class="title">
            <view>最新支持数据格式:</view>
            <view>1. 北京市朝阳区xx路姚家园x楼x单元3305上官飞雪15000000000</view>
            <view>2. 北京市朝阳区xx路姚家园x楼x单元3305上官飞雪15000000000邮编038300</view>
            <view>
                3. 上官飞雪<br/>
                1351111111<br/>
                浙江省 杭州市 上城区 xx路x号x幢x楼(靠近x幢)
            </view>
            <view>4. 上官飞雪,1351111111,北京市朝阳区富康路姚家园3楼邮编038300</view>
            <view>5. 上官飞雪1351111111北京市朝阳区富康路姚家园3楼0</view>
            <view>6. 北京市朝阳区xx路姚家园x楼1351111111上官飞雪</view>
            <view>7. 北京市朝阳区xx路姚家园x楼150-0000-0000上官飞雪</view>
        </view>
        <textarea @change="autoParse" cols="50" rows="10" v-model="address" placeholder="请粘贴您需要识别的地址"></textarea>
        <button @click="autoParse">自动识别</button>
        <view v-if="value" class="title">自动识别结果:</view>
        <!-- <view style="padding-top:30rpx;" v-html="value"></view> -->
        <view v-if="value" style="padding: 30rpx;background: #fafafa;border: 1px solid #eaeefb;margin-top: 30rpx;word-break: break-all;">
            <code v-text="value"></code>
        </view>
    </view>
</template>
<script>
    import {AddressParse} from './lib/addressParseBundle.js';
    export default{
        data(){
            return{
                value:'',
                address:''
            }
        },
        methods:{
            autoParse(){
                if(!this.address){
                    return uni.showToast({
                        title: '请粘贴您需要识别的地址',
                        icon: 'none'
                    })
                }
                const address = this.address
                const result = AddressParse.parse(address)
                if(result && result.length){
                    let html = ''
                    for(let key in result[0]){
                        if(result[0][key]){
                           html+=key+`:`+result[0][key]+`<br/>`
                        }
                    }
                    this.value = JSON.stringify(result[0])
                }
            }
        },
        onLoad() {

        }
    }
</script>
<style lang="less" scoped>
    .content{
        padding:40rpx;
        box-sizing: border-box;
    }
    textarea{
        border: 1px solid #dbdbdb;
        padding:20rpx;
        width:100%;
        margin:30rpx 0;
        box-sizing: border-box;
    }
    .title{
        font-size:30rpx;
        font-weight:600;
        padding-top: 30rpx;
    }
</style>

隐私、权限声明

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

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

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

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问