vue3中固定格式信息识别功能

1.需求与效果

2.功能代码

// 定义一个函数discern
const discern = () => {// 定义变量paramsList和paramslet paramsList;let params = {};// 将htmlText.value按换行符分割,得到一个数组,每个元素是一行文本paramsList = htmlText.value.split('\n');// 定义两个数组,object包含了我们想要获取的信息的名称,discernList包含了每种信息可能对应的关键字let object = ['companyName', 'taxpayerNumber', 'address', 'phone', 'bank', 'account', 'email'];let discernList = [['名称', '公司名称', '企业名称', '公司名'],['税号', '纳税人识别号', '统一信用代码'],['单位地址', '公司地址', '企业地址', '地址'],['电话', '电话号码', '联系方式', '手机号'],['开户银行', '银行名称', '开户行'],['银行账户', '银行账号', '账号', '账户'],['邮箱','电子邮箱']];// 遍历paramsList中的每一行文本paramsList.forEach((el, i) => {// 将当前行按冒号分割,得到一个数组elList,第一个元素是关键字,第二个元素是值let elList = el.replace(':', ':').split(':');// 去除值中的所有空格elList[1] = elList[1]?.replace(/\s+/g, '');// 遍历discernList中的每个数组discernList.forEach((item, index) => {// 遍历当前数组中的每个关键字item.forEach((ele) => {// 如果当前行的关键字包含当前关键字if (elList[0].indexOf(ele) !== -1) {// 如果当前关键字是"地址",并且当前行的关键字不包含"邮箱"if (ele == '地址' && elList[0].indexOf('邮箱') == -1) {// 将值存储在params对象中,属性名是object数组中对应的元素params[object[index]] = elList[1];} else if (ele != '地址') { // 如果当前关键字不是"地址"// 将值存储在params对象中,属性名是object数组中对应的元素params[object[index]] = elList[1];}}});});});// 将params对象合并到invoiceHeaderForm.value对象中Object.assign(invoiceHeaderForm.value, params);
};

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

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

相关文章

Android排队预约系统(Java+SqLite+ZXing)

自己写的排队预约系统,可改写,添加功能,如管理用户,查询排队人数等功能。(由于是选修课课设,所以写的比较粗糙) 使用方法: 1.使用Android studio导入项目。 2.使用gradle加载build.gradle.kts中的依赖。…

智能优化算法应用:基于适应度相关算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于适应度相关算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于适应度相关算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.适应度相关算法4.实验参数设定5.算法…

芯知识 | 语音芯片支持一线串口和两线串口的作用与应用优势

随着科技的不断进步,语音芯片作为现代电子产品中的核心组件,其功能和性能也在不断提升。其中,语音芯片支持一线串口和两线串口的功能,在实际应用中具有重要的作用和优势。 首先,让我们了解一线串口和两线串口的含义。一…

【实时绘画】krita + comfyUI 实时绘画 儿童海报

1:打开comfyUI 2: 打开krita 打开 cd custom_nodes 输入命令 安装控件 git clone https://github.com/Acly/comfyui-tooling-nodes.git

长短期记忆(LSTM)神经网络-多输入分类

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、部分程序: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译&am…

企业特别大的文件用什么传比较快,企业快速传输大文件必备神器

对于企业而言,不论是内部的文件交换、协作、备份,还是外部的文件分享、投标、审计,都需要高效、稳定、安全的文件传输方式。特别是对于一些特别大的文件,如视频、音频、图片、设计图、数据库等,如果传输速度慢、不稳定…

鸿道(Intewell)工业操作系统推动新型工业化时代下的产教融合

为进一步落实推进粤港澳大湾区建设的国家战略,加速新一代信息技术与制造业深度融合,提升控制科学与工程学科建设水平,华南理工大学自动化科学与工程学院召开粤港澳大湾区机器智能产教融合论坛暨控制学科建设研讨会。作为国内新型工业操作系统…

MSSql将test数据库还原为另外一个名字test1的数据库

有时候咱们需要将sqlserver数据库还原成另一个数据库中,如下: 1.备份原数据库。右击原数据库选择如下 2.跳到如下页面,如果目标有记录,那么全部进行删除,然后再添加。在“文件名”文本框中输入有效的路径和文件名&…

数据库故障Waiting for table metadata lock

场景:早上来发现一个程序,链接mysql数据库有点问题,随后排查,因为容器在k8s里面。所以尝试重启了pod没有效果 一、重启pod: 这里是几种在Kubernetes中重启Pod的方法: 删除Pod,利用Deployment重建 kubectl delete pod mypodDepl…

Python之Django开发环境搭建及项目创建

若想使用Django开发网站,需要在电脑上安装Django的开发环境。首先安装Python的开发环境,不同的操作系统有不同的安装方法,关于Python的安装就不再详细阐述了,可参考本博相关文章,除了安装Python之外,我们还…

携手天猫企业购,隆道商城商品资源再升级

近日,隆道商城与天猫企业购达成战略合作,双方在优势资源和专业服务等方面开展深度合作,天猫企业购将支持隆道商城进一步丰富商品种类、提升专业服务质量,建设跨平台品类多元化商城,打造智能化商城交易解决方案。 天猫企…

Pycharm 关闭控制台多余窗口详解(console)

文章目录 1 问题描述2 解决办法2.1 步骤1:编辑配置2.2 步骤2:使用 Python 控制台运行(取消勾选)2.3 验证:再次运行,多余窗口消失 1 问题描述 2 解决办法 2.1 步骤1:编辑配置 菜单路径&#xf…