主要用uni.getClipboardData(OBJECT),更多信息可以到uniapp官网查看

以下实现方式     1利用api,     2针对判断


优化方案,在线API

handleConfirm2(){let that = this;promisRequest({url: 'https://wangzc.wang/smAddress',data: {"address": that.inputValueAnalysis},method: "POST"}).then(res => {//赋值that.receiveName=res.data.name;that.receiveTell=res.data.phone;that.receiveAddress=res.data.address;that.addressData=res.data.province+res.data.city+res.data.county;uni.showToast({title:"内容已识别~",icon:"none"})console.log(res)this.handleCancel2();}).finally(()=>{this.handleCancel2();})},

主函数

openPaste(){let that=this;uni.getClipboardData({success: function (res) {let inputStr=res.data;console.log("剪切板内容",res.data);if(inputStr.includes("详细地址")&&!inputStr.includes("收件人")&&!inputStr.includes("手机号码")&&!inputStr.includes("所在地区")){//是拼多多复制的地址let obj=that.parsePinduoduoInfo(inputStr);if(obj !== undefined&&obj["手机号码"] !== undefined&&obj["所在地区"] !== undefined&&obj["详细地址"] !== undefined&&obj["收件人"] !== undefined){//当前新增地址赋值uni.showModal({title: "提示",content: "检测到当前有地址,是否添加地址?",success: (res) => {if (res.confirm) {//当前数据赋值that.receiveName=obj["收件人"];that.receiveTell=obj["手机号码"];that.receiveAddress=obj["详细地址"];that.addressData=obj["所在地区"];}}})}}if(inputStr.includes("详细地址")&&inputStr.includes("所在地区")){let obj;if(inputStr.includes("收货人")&&inputStr.includes("手机号")){//是淘宝复制的地址obj=that.parseDeliveryInfo(inputStr);}else{//是京东复制的地址obj=that.parseInfoString(inputStr);}if(obj !== undefined&&obj["所在地区"] !== undefined&&obj["详细地址"] !== undefined){//当前新增地址赋值uni.showModal({title: "提示",content: "检测到当前有地址,是否添加地址?",success: (res) => {if (res.confirm) {//当前数据赋值,对淘宝,京东判断赋值if(obj["收件人"] !== undefined){//淘宝that.receiveName=obj["收件人"];that.receiveTell=obj["手机号码"];}else{//京东that.receiveName=obj["收货人"];that.receiveTell=obj["手机号"];}that.receiveAddress=obj["详细地址"];that.addressData=obj["所在地区"];}}})}}},fail(e){console.log(e);}});},

辅助函数

parsePinduoduoInfo(inputStr) {// 定义正则表达式模式const pattern = /(\S+)\s+(\d+)\s+([^\s]+?)\s+详细地址:(.+)/;// 执行正则匹配const matchResult = inputStr.match(pattern);// console.log("解析的结果",matchResult);if (matchResult) {// 解构匹配结果const [, name, phone, region, address] = matchResult;// 返回结构化数据return {"收件人": name,"手机号码": phone,"所在地区": region,"详细地址": address};} else {// 可选:抛出错误或静默返回undefined// throw new Error("解析失败,请检查输入格式");return undefined; // 或根据需求修改为其他默认值}},parseDeliveryInfo(str) {return str.split('\n').reduce((acc, line) => {// 分割每行的键值对(兼容中文冒号)const [key, value] = line.split(':').map(item => item.trim());if (key && value !== undefined) {acc[key] = value;}return acc;}, {});},parseInfoString(str) {return str.split('\n').reduce((acc, line) => {const [key, value] = line.split(':').map(item => item.trim());if (key && value) {acc[key] = value;}return acc;}, {});},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/96280.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96280.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/96280.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32 驱动 PWM 舵机为什么必须共地?——从原理到实践全解析

在使用 ESP32 控制 PWM 舵机 的过程中,新手经常遇到一个常见问题:舵机不动、乱动、甚至烧坏芯片。 其中最典型的原因,就是没有正确共地。 很多初学者会疑惑:“外接电池只是给舵机供电,为什么还要把电池的地线接到 ESP32 的 GND 上呢?” 本文将从 信号逻辑、闭合回路、…

细菌基因组genome二代测序数据分析

kraken2去除污染conda create -n kraken2 conda activate kraken2 conda install kraken2 -c bioconda mkdir kraken2_outputkraken2 --db ../../kraken2_db/k2_pluspf_20250402/ --threads 8 --paired 250811_HS67EV0804_R1.fastq.gz 250811_HS67EV0804_R2.fastq.gz --use-nam…

工业网络架构的未来:智慧化工厂中的低延迟与高可靠性设计

1. 引言工业网络正经历从传统有线到无线、从低速到高速的全面升级。某铝箔智慧工厂专注于新能源铝箔的生产,依赖低延迟、高可靠的网络支持实现生产控制与智能管理。本文将探讨某铝箔智慧工厂网络架构设计的关键点及其实施策略。2. 某铝箔智慧工厂的网络挑战多终端接…

Android14 init.rc中on boot阶段操作4

Android14 init.rc中on early-init, init, late-init, early-fs, post-fs阶段详解1 Android14 init.rc的on late-fs, post-fs-data阶段主要操作详解2 Android14 init.rc中启动Zygote详解3 Android14 init.rc中on boot阶段操作4 1 on boot和低内存设备的启动优化 仅在ro.con…

CodeSandbox Desktop:零配置项目启动工具,实现项目环境隔离与Github无缝同步

你有没有过为了跑一个简单的 Demo,花半小时配置环境还失败的经历?比如想测试一个 Vue3 组件,先装 Node.js,结果版本太高和项目依赖不兼容;换低版本又提示 “找不到 python 环境”;好不容易装完依赖&#xf…

人工智能-python-深度学习-经典神经网络AlexNet

AlexNet(详解)——从原理到 PyTorch 实现(含训练示例) 文章目录AlexNet(详解)——从原理到 PyTorch 实现(含训练示例)1. 发展历史与比赛成绩2. AlexNet 的核心思想(一句话…

《sklearn机器学习——指标和评分1》

3个不同的API可供评估模型预测质量: 评估器评分方法:评估器有一个score方法,它给计划解决的问题提供一个初始评估标准。这部分内容不在这里讨论,但会出现在每一个评估器的文件中。 评分参数:使用交叉验证(…

人工智能中的线性代数总结--简单篇

numpy库中的dot函数来计算矩阵和向量的点积def matrix_vector_dot_product(a, b):import numpy as npif (len(a[0]) ! len(b)):return -1# 使用tolist()将结果转换为列表return np.dot(a, b).tolist()原始方法def matrix_vector_dot_product(matrix, vector):if len(matrix[0])…

又是全网首创/纯Qt实现28181设备模拟器/rtp视频点播/桌面转28181/任意文件转28181/跨平台

一、前言说明 这个工具前前后后也算是废了不少功夫,最开始是因为28181服务端的组件已经完美实现,对照国标文档看了很多遍,逐个实现需要的交互协议,整体上比onvif协议要难不少,主要是涉及到的东西比较多,有…

安卓逆向(一)Ubuntu环境配置

一、Ubuntu 1、虚拟机 首先准备一个Ubuntu的虚拟机,就随便新建一个就行,我这里使用的是Ubuntu21.04,但是内存跟硬盘大小最好设置的稍微大一点。 2、基础环境 (1)解决apt-get update报错问题 apt-get是Linux系统中一个管…

Go 1.25在性能方面做了哪些提升?

Go 1.25 在性能方面带来了多项重要提升,主要有以下几个方面: 实验性垃圾回收器 GreenTea GC:针对小对象密集型应用优化,显著提升小对象标记和扫描性能,垃圾回收开销减少0-40%,暂停时间缩短,吞吐…

Python与XML文件处理详解(2续):xml.dom.minidom模块高阶使用方法

目录 第一部分:高级节点操作与遍历方法 1.1 更精确的节点导航 1.2 使用 cloneNode() 复制节点 1.3 节点插入、替换与高级管理 第二部分:文档创建与高级输出控制 2.1 使用 Document 工厂方法完整创建文档 2.2 高级输出与序列化控制 第三部分:实用工具函数与模式处理 …

如何利用 ChatGPT 辅助写作

引言 介绍人工智能辅助写作的兴起,ChatGPT 在写作领域的应用潜力,以及本文的核心目标。 ChatGPT 在写作中的核心功能 概述 ChatGPT 的主要功能,包括文本生成、润色、结构优化、灵感激发等。 利用 ChatGPT 辅助写作的具体方法 生成创意与灵感 …

【有鹿机器人自述】我在社区的365天:扫地、卖萌、治愈人心

大家好,我是有鹿巡扫机器人,编号RD-07。今天我想和大家分享这一年来的工作见闻——没错,我们机器人也会"观察"和"感受",尤其是在连合直租将我送到这个社区后,发生的点点滴滴让我拥有了前所未有的&…

第五十五天(SQL注入增删改查HTTP头UAXFFRefererCookie无回显报错复盘)

#数据库知识: 1、数据库名,表名,列名,数据 2、自带数据库,数据库用户及权限 3、数据库敏感函数,默认端口及应用 4、数据库查询方法(增加删除修改更新) #SQL注入产生原理&#xf…

怎么用 tauri 创建一个桌面应用程序(Electron)

以前用 Electron 做过一个桌面应用程序,打包体积确实很大,启动也很慢。这次先 tauri。 并且用 bun 代替 npm 速度更快,避免总是出现依赖问题。 前端用 react 为了学习下,用 js 先现在主流的 typescript。 安装 bun npm instal…

【通过Docker快速部署Tomcat9.0】

文章目录前言一、部署docker二、部署Tomcat2.1 创建存储卷2.2 运行tomcat容器2.3 查看tomcat容器2.4 查看端口是否监听2.5 防火墙开放端口三、访问Tomcat前言 Tomcat介绍 Tomcat 是由 Apache 软件基金会(Apache Software Foundation)开发的一个开源 Jav…

LabVIEW UI 分辨率适配

针对 LabVIEW UI 在不同分辨率下的适配,现有方案分三类:一是现有 VI 可通过 “VI 属性 - 窗口大小” 勾选比例保持或控件缩放选项快速调整,也可取消勾选或换等宽字体防控件移位;二是项目初期以最低目标分辨率为基准,用…

国产化FPGA开发板:2050-基于JFMK50T4(XC7A50T)的核心板

(IEB-PS-3051-邮票孔) 一、核心板概述 板卡基于JFMK50T4国产化FPGA芯片,设计的一款工业级核心板,板卡集成主芯片、电源、DDR、配置芯片,大大减轻客户的扩展开发困难。丰富的IO和4个GTP,让用户轻…

Webpack 核心原理剖析

时至今日,Webpack 已迭代到 5.x 版本,其功能模块的扩充和复杂度的提升使得源码学习成本陡增。官方文档的晦涩表述更是让许多开发者望而却步。然而,理解 Webpack 的核心原理对优化构建流程、定制化打包方案至关重要。本文将通过简化流程和代码…