【uniapp开发小程序】实现读取手机剪切板第一条,识别并以姓名/手机号/收货地址格式输出

news2024/9/19 10:56:13

效果图:

完整代码: 

<template>
	<view class="">
		<text>测试</text>
		<view @click="pasteContent()" class="content">
			点击此处可快速识别 您的收货信息
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				addressData: {
					name: '',
					phone: '',
					details: '', //详细地址
				},
			}
		},
		methods: {
			//获取到剪切板的内容,快速识别收货地址
			pasteContent() {
				var that = this
				// 获取系统剪贴板内容
				uni.getClipboardData({
					success: (res) => {
						
						const text = res.data;
						const phoneNumber = this.extractPhoneNumber(text);
						const name = this.extractName(text, phoneNumber);
						const address = this.extractAddress(text, phoneNumber);

						// 去除特殊字符和前缀标识
						const cleanedName = this.cleanText(name);
						const cleanedPhoneNumber = this.cleanText(phoneNumber);
						const cleanedAddress = this.cleanText(address);

						// 在这里可以对姓名、手机号和收货地址进行处理
						// 例如,将提取到的信息填充到表单中

						console.log('姓名:', cleanedName);
						console.log('手机号:', cleanedPhoneNumber);
						console.log('收货地址:', cleanedAddress);
						if (cleanedName != '') {
							that.addressData.name = cleanedName
						}
						if (cleanedPhoneNumber != '') {
							that.addressData.phone = cleanedPhoneNumber
						}
						if (cleanedAddress != '') {
							that.addressData.details = cleanedAddress
						}
					}
				});
			},
			//1姓名 通过正则找到电话
			extractPhoneNumber(text) {
				const reg = /\d{11}/;
				const match = text.match(reg);
				const phoneNumber = match ? match[0] : '';
				return phoneNumber;
			},
			//2手机号 截取0到电话第一次出现的位置
			extractName(text, phoneNumber) {
				const index = text.indexOf(phoneNumber);
				const name = index > 0 ? text.substring(0, index).trim() : '';
				return name;
			},
			//3地址 从电话第一次出现的位置+电话长度开始截取
			extractAddress(text, phoneNumber) {
				const index = text.indexOf(phoneNumber);
				const address = index > 0 ? text.substring(index + phoneNumber.length).trim() : '';
				return address;
			},
			// 4去除特殊字符和前缀标识
			cleanText(text) {
				const cleanedText = text.replace(/\/|姓名:|手机号:|收货地址:|详细地址:/g, '');
				return cleanedText;
			},

		}
	}
</script>

<style lang="scss">
	.content {
		background-color: white;
		height: 120rpx;
		text-align: center;
	}
</style>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用chatGPT + AI 绘图生成自己的专属头像

案例介绍 微信头像是朋友认识我们时的第一印象,或许是可爱、妖娆,或许是帅气、成熟,还有自然、厚重、调皮… 我们都有自己独特的故事,独特的思想,独特的爱好,对于头像当然有着自己独到的设计眼光。 接下来请允许我向大家展示如何使用chatGPT、AI绘图工具生成出自己的专属…

【vue学习】权限管理系统前端实现6-主页面布局

1.新建layout文件夹 新建index.vue 添加router const routes [{path: /,name: 首页,component: () > import(../layout)}, 2.登录添加跳转 loginRef.value.validate(async (valid)>{if(valid){try{let resultawait requestUtil.post("login?"qs.stringify(l…

人工智能面试总结-Transformer专题

B站:啥都会一点的研究生 公众号试读:啥都会一点的研究生 目录 说说什么是Transformer?说说Transformer中的Encoder?说说Transformer中的Decoder?说说Transformer在训练与测试阶段Decoder的输入、输出是什么?说说Transformer Encoder和Decoder有哪些不同?说说什么是Tran…

Qt/C++原创项目作品精选(祖传原创/性能凶残)

00 前言说明 从事Qt开发十年有余&#xff0c;一开始是做C#.NET开发的&#xff0c;因为项目需要&#xff0c;转行做嵌入式linux开发&#xff0c;在嵌入式linux上做可视化界面开发一般首选Qt&#xff0c;当然现在可选的方案很多比如安卓&#xff0c;但是十多年前那时候板子性能低…

松下|PCB焊盘脱落常见的几个原因分析

PCB焊盘脱落是电子制造中常见的问题之一&#xff0c;它会导致电路板的性能下降或完全失效。本文将从几个常见原因来分析PCB焊盘脱落的原因&#xff0c;并提供一些预防措施。 一、设计问题 PCB焊盘脱落的一个常见原因是设计问题。一些设计错误可能会导致焊盘的结构不稳定&…

QCC51XX---SPI使用

QCC51XX---系统学习目录_嵌入式学习_force的博客-CSDN博客 了解了I2C的使用,细心的小伙伴已经发现了,在bitserial这个功能里面还能使用SPI。bitserial就是用来使用I2C和SPI的,而这两者的使用,大同小异。 在默认代码使中,是有两个传感器的驱动代码的,分别是加速度传感器ad…

若依@DataScope

DataScope &#xff1a; 根据sys_role 中的 data_scope中的值&#xff0c;来设置数据该怎么过滤&#xff0c;&#xff0c; data_scope 取值&#xff1a; 1 &#xff1a; 不需要过滤2 &#xff1a; 自定义过滤 &#xff1a; 根据 sys_role_dept 这个表关联出来的 dept_id 过滤…

五.LLC谐振变换器

LLC 谐振变换器启动过程分析 LLC 谐振变换器的组成结构中包含容性器件&#xff0c;为了尽可能减小输出电压纹波&#xff0c;钳位输出电压&#xff0c;此时希望输出滤波电容尽可能的大&#xff0c;因此也会在启动的时候&#xff0c;电容两端电压近似为 0&#xff0c;系统对电容…

Final2x-开源图片无损放大工具 提升分辨率到任意尺寸

一、Final2x是什么 Final2x是一款开源、跨平台的图片无损放大工具&#xff0c;内置多个模型&#xff0c;能够将图片提升分辨率到任意尺寸&#xff0c;增强图像的分辨率和质量&#xff0c;使图像更清晰、更详细。目前支持RealCUGAN、RealESRGAN、Waifu2x、SRMD等多种模型。支持…

不会写代码,咋做爬虫

随着时代的发展&#xff0c;大数据越来越重要&#xff0c;数据获取很关键 提到数据获取大家应该都会想到爬虫&#xff0c;但是我不会写代码怎么玩爬虫 今天给大家分享一个不会代码也可以进行爬虫的工具&#xff0c;实现无代码进行数据获取 强调 这里介绍的工具大家合理合法使用…

使用黑盒测试在 Go 中重写 Bash 脚本

目录 前言&#xff1a; 开始 准备工作 描述行为&#xff1a;Bats 简介 行为描述&#xff1a;陷阱 描述行为&#xff1a;设计测试 重写&#xff1a;让我们开始用go吧&#xff01; 重构和更新&#xff1a;实现胜利 结论 前言&#xff1a; 使用黑盒测试在Go中重写Bash脚本…

Linux bio数据结构

数据结构 /** main unit of I/O for the block layer and lower layers (ie drivers and* stacking drivers)*/ struct bio {struct bio *bi_next; /* request queue link */struct gendisk *bi_disk;unsigned int bi_opf; /* bottom bits req flags,* top bits REQ_OP. Us…

go入门demo

go快速学习&#xff1a; 官网学习方案&#xff08;选择自己喜欢的语言&#xff09;&#xff1a;A Tour of Go 视频:B站是个不错的选择 &#xff08;转go入门使用&#xff09;推荐视频&#xff1a;1-课程需知与课程提纲_哔哩哔哩_bilibili1-课程需知与课程提纲是8小时转职Gol…

把握住golang中的template,方能驾驭得了Hugo主题的template

笔者小站&#xff1a;秋码记录 不置可否&#xff0c;Hugo的template同样是使用golang的标准库html/template。为了能实现一个属于自己独特的Hugo theme&#xff0c;或是修改他人的主题&#xff0c;都得对其模板语法有所知晓&#xff0c;方能改的称心如意&#xff0c;亦或是制作…

HarmonyOS学习路之开发篇—数据管理(融合搜索)

融合搜索概述 HarmonyOS融合搜索为开发者提供搜索引擎级的全文搜索能力&#xff0c;可支持应用内搜索和系统全局搜索&#xff0c;为用户提供更加准确、高效的搜索体验。 基本概念 全文索引 记录字或词的位置和次数等属性&#xff0c;建立的倒排索引。 全文搜索 通过全文索引进…

GEE:哨兵数据时间序列计算物候时期EOS/SOS

作者&#xff1a;CSDN _养乐多_ 本文将介绍使用哨兵数据时间序列计算植被物候时期EOS/SOS的代码。 文章目录 一、需要代码请私聊二、代码三、代码链接 一、需要代码请私聊 二、代码 //待更新 三、代码链接 //待更新 声明&#xff1a; 本人作为一名作者&#xff0c;非常重…

11 Java的三元运算符使用

三元运算符使用规则&#xff1a; 关系表达式 ? 表达式1 : 表达式2; 如果关系表达式成立&#xff0c;则结果是表达式1&#xff0c;如果不成立&#xff0c;则结果为表达式2。 package demo;public class Demo1 {public static void main(String[] args) {int a 20;int b 30;i…

基于simulink使用二维规范化互相关进行模式匹配和目标跟踪(附源码)

一、前言 此示例演示如何使用二维规范化互相关进行模式匹配和目标跟踪。双击“编辑参数”块以选择要检测的类似目标的数量。您还可以更改金字塔因子。通过增加它&#xff0c;您可以更快地将目标模板与每个视频帧匹配。更改金字塔因子可能需要更改阈值。 此外&#xff0c;还可…

从零实现深度学习框架——深入浅出PackedSequence

引言 本着“凡我不能创造的&#xff0c;我就不能理解”的思想&#xff0c;本系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架&#xff0c;该框架类似PyTorch能实现自动求导。 &#x1f4a1;系列文章完整目录&#xff1a; &#x1f449;点此&#x1f448; 要深入理解…

使用RabbitMQ

使用RabbitMQ 1 Docker安装RabbitMQ 1.1 安装RabbitMQ # 下载含有管理页面的镜像 docker pull rabbitmq:3.8.8-management# 创建容器 # 5672&#xff1a;应用访问端口&#xff1b;15672&#xff1a;控制台Web端口号&#xff1b; docker run -itd \ --namemy-rabbitmq \ --re…