【uniapp开发小程序】实现粘贴一段文字后,自动识别到姓名/手机号/收货地址

news/2024/7/20 1:31:04 标签: uni-app, 小程序

一、需求

uni-app中开发小程序,实现粘贴一段文字后自动识别到手机号,并将手机号前面的内容作为姓名,手机号后面的内容作为收货地址,并去除其中的特殊字符和前缀标识。

实现效果:
在这里插入图片描述
在这里插入图片描述

二、实现方式:

<template>
	<view class="">
		<view  @click="pasteContent()">
			试试粘贴收件人姓名/手机号/收货地址,可快速识别 您的收货信息
		</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手机号
			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>


到这里就完成啦~ok


http://www.niftyadmin.cn/n/1004801.html

相关文章

Jenkins + gitlab 自动部署

1. 背景 作为后台开发&#xff0c;每次我们开发完或者修改一个bug后都要手动合并&#xff0c;打包或者连接服务器执行打包部署命令&#xff0c;每次手动操作&#xff0c;极大的影响了我们的开发效率&#xff0c;那么有没有一款工具能让我们只需要推送/合并代码到远端就能实现服…

Windows Update当前无法检查更新怎么办?

当进行Windows更新或升级时&#xff0c;可能会提示“Windows Update当前无法检查更新&#xff0c;因为未运行服务。您可能需要重新启动计算机”。而当重启也无法解决问题时&#xff0c;我们该怎么办呢&#xff1f;下面我们就来了解一下。 1、删除Software Distribution文件夹中…

Go 1.20 发行说明(翻译)

文章目录 Go 1.20 简介语言的变化端口WindowsDarwin and iOSFreeBSD/RISC-V 工具Go commandCgoCoverVet RuntimeCompilerLinkerBootstrapCore library新的加密包 crypto/ecdh包装多个错误HTTP 响应控制器新的 ReverseProxy 重写钩子对库的小改动archive/tararchive/zipbytescon…

基于边缘计算AidLux的自动驾驶智能预警应用方案

上传源码至AidLux&#xff08;具体操作见前面AIGC帖子&#xff09; 配置环境&#xff1a; cd YOLOP/YOLOP pip install -r requirements.txt pip install torch1.8.1 torchvision0.9.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ pip install onnxruntime -i https://py…

游戏平台运营技巧

游戏平台包含丰富优质的游戏资源&#xff0c;主要由管理后台、推广平台、PC官网、WAP站点、游戏盒子和SDK组成&#xff0c;玩家所使用的是PC官网、WAP站点和游戏盒子&#xff0c;可以在电脑端和手机端操作&#xff0c;方便快捷&#xff0c;且具有很多的功能&#xff0c;满足玩家…

【机器学习】【期末复习】有关机器学习的简答题可供期末复习参考

本文为学校课程《机器学习》中老师给出的一些有关机器学习的简答题的详细解答&#xff0c;可供复习参考&#xff0c;基本答案全是正确的。 目录 什么是判别式模型和生成式模型&#xff0c;并且举例说明各自包含哪些典型的机器学习模型&#xff1f;L1 和 L2 的正则化的区别数据归…

在 Maya、ZBrush 和 Arnold 中重塑来自邪恶西部的 Edgar Gravenor

今天瑞云渲染小编给大家带来Giancarlo Penton 介绍的Edgar Gravenor项目背后过程&#xff0c;展示了皮肤纹理和头发是如何制作的&#xff0c;并解释了详细的服装是如何设置的。 介绍 大家好&#xff0c;我的名字是Giancarlo Penton。我是一名3D角色艺术家&#xff0c;最近毕业…

Django纪录操作之增删改查

一、单表 1、 添加记录 准备表 from django.db import modelsclass Book(models.Model):title models.CharField(max_length20)price models.DecimalField(max_digits65,decimal_places5)publish models.CharField(max_length30)pub_date models.DateTimeField(auto_now…