vue身份证检验方法

1.定义一个input输入框

 <inputtype="text"v-model="personnelInformationForm.idNo"class="qrcode-main-form-li-input"maxlength="18"	
/><button class="qrcode-form-submit" @click="submitForm">提 交</button>

2.引入numberUtils 进行身份证号验证

<script>
import Vue from "vue";
import { Toast } from "vant";
Vue.use(Toast);
import numberUtils from "../utils/idNoRules.js";
export default {name: "informationEntry",data() {return {personnelInformationForm: {idNo: "",}};},methods: {submitForm() {//验证身份证号是否正确if (this.personnelInformationForm.idNo) {const result = numberUtils.checkIdCardNumber(this.personnelInformationForm.idNo);if (result.status == 0) {} else {// 验证失败,根据错误码显示对应的错误信息switch (result.status) {case 1:Toast("身份证号码位数不对!");break;case 2:Toast("身份证号码出生日期超出范围或含有非法字符!");break;case 3:Toast("身份证号码校验错误!");break;case 4:Toast("身份证地区非法!");break;default:Toast("未知错误!");break;}return;}}};
</script>

3.idNoRules.js中是验证的逻辑

// vue身份证检验方法
const numberUtils = {checkIdCardNumber: (idcard) => {var Errors = [{status: 0,msg: '验证通过!'},{status: 1,msg: '身份证号码位数不对!'},{status: 2,msg: '身份证号码出生日期超出范围或含有非法字符!'},{status: 3,msg: '身份证号码校验错误!'},{status: 4,msg: '身份证地区非法!'},];var area = {11: '北京',12: '天津',13: '河北',14: '山西',15: '内蒙古',21: '辽宁',22: '吉林',23: '黑龙江',31: '上海',32: '江苏',33: '浙江',34: '安徽',35: '福建',36: '江西',37: '山东',41: '河南',42: '湖北',43: '湖南',44: '广东',45: '广西',46: '海南',50: '重庆',51: '四川',52: '贵州',53: '云南',54: '西藏',61: '陕西',62: '甘肃',63: '青海',64: '宁夏',65: '新疆',71: '台湾',81: '香港',82: '澳门',91: '国外'};var ereg;var idcard_array = idcard.split('');// @ts-ignoreif (area[parseInt(idcard.substr(0, 2))] === null)return Errors[4];switch (idcard.length) {case 18:if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式} else {ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式}if (ereg.test(idcard)) {var S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 +(parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 +(parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 +(parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 +(parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 +(parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 +(parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 +parseInt(idcard_array[7]) * 1 +parseInt(idcard_array[8]) * 6 +parseInt(idcard_array[9]) * 3;var Y = S % 11;var M = 'F';var JYM = '10X98765432';M = JYM.substr(Y, 1);if (M == idcard_array[17])return Errors[0];elsereturn Errors[3];} elsereturn Errors[2];default:return Errors[1];}}
}
export default numberUtils;

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

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

相关文章

AI预测福彩3D第9套算法实战化测试第5弹2024年4月27日第5次测试

今天继续进行新算法的测试&#xff0c;今天是第5次测试。好了&#xff0c;废话不多说了&#xff0c;直接上图上结果。 2024年4月27日福彩3D预测结果 6码定位方案如下&#xff1a; 百位&#xff1a;3、5、6、2、7、1 十位&#xff1a;8、4、9、3、1、0 个位&#xff1a;3、5、2、…

【源码】WBF多语言交易所/申购+自发币平台币+币币+杠杆+合约/附带安装教程/带VUE工程源码

【源码介绍】 WBF多语言交易所/申购自发币平台币币币杠杆合约/附带安装教程/带VUE工程源码 【源码说明】 带VUE工程源码最新申购&#xff0c;自发币平台币&#xff0c;币币&#xff0c;法币&#xff0c;杠杆&#xff0c;合约多语言交易所&#xff0c;附带pc和手机VUE&#x…

网络基础(day3)

【 理论重点】 网络是什么&#xff1f; &#xff08;网络是载体&#xff0c;目的是传输互联网中的数据&#xff0c;数据是终端产生<手机、电脑、服务器等>。&#xff09; 如何组件网络&#xff08;良性网络架构&#xff09;&#xff1f;有网络架构思维&#xff0c;得按层…

C++从入门到精通——string类

string类 前言一、为什么学习string类C语言中的字符串示例 二、标准库中的string类string类string类的常用接口说明string类对象的常见构造string类对象的容量操作string的接口测试及使用string类对象的访问及遍历操作下标和方括号遍历范围for遍历迭代器遍历相同的代码&#xf…

使用 @NoRepositoryBean 简化数据库访问

在 Spring Data JPA 应用程序中管理跨多个存储库接口的数据库访问逻辑可能会变得乏味且容易出错。开发人员经常发现自己为常见查询和方法重复代码&#xff0c;从而导致维护挑战和代码冗余。幸运的是&#xff0c;Spring Data JPA 为这个问题提供了一个强大的解决方案&#xff1a…

milvus indexcoord启动源码分析

indexcoord启动源码分析 // IndexCoord implements IndexCoord grpc server type IndexCoord struct{}indexcoord已经和datacoord合并。 // NewIndexCoord creates a new IndexCoord func NewIndexCoord(ctx context.Context, factory dependency.Factory) (*IndexCoord, err…

普通话水平测试用朗读作品60篇-(练习版)

普通话考试题型有读单音节字词、读多音节字词、朗读作品和命题说话。 具体分值如下&#xff1a; 1、读单音节字词100个&#xff0c;占10分&#xff1b;目的考查应试人普通话声母、韵母和声调的发音。 2、读双音节词语50个&#xff0c;占20分&#xff1b;目的是除了考查应试人声…

------分割线之 WebSecurityConfigrerAdapter弃用问题------

WebSecurityConfigurerAdapter 被弃用的原因是 Spring Security 项目的维护者希望将项目的主要开发工作集中在新的配置方式上&#xff0c;即基于 Java 的配置&#xff08;Java Configuration&#xff09;和基于 Lambda 的表达式。这主要是因为 Spring 5.0 引入了重量级的 Java …

Elasticsearch 精确查询:术语查询、多术语查询、主键查询、范围查询、存在查询、前缀查询、正则查询与通配符查询

为了深入理解Elasticsearch的各种精确查询方法&#xff0c;我们将通过一系列示例来演示术语查询、多术语查询、主键查询、范围查询、存在查询、前缀查询、正则查询和通配符查询的应用场景。首先&#xff0c;我们为示例准备一组数据&#xff1a; POST person/_doc/1 {"id&…

OpenInventor/Coin3D 学习指南

简介 Coin3D是OpenInventor规范/API的开源实现&#xff0c;它提供了丰富的资源供学习OpenInventor编程&#xff0c;并以更为宽松的LGPL许可证发布。 重要类别 包括基本类型&#xff08;如向量、矩阵等&#xff09;、大多数对象的基类、用于运行时类型检查的类、字段和字段容…

C++(18): C++:std::bind的使用

1. 简述 std::bind是C11标准库中的一个功能强大的函数适配器&#xff0c;它可以将一个可调用对象&#xff08;函数、函数指针、函数对象或者成员函数指针&#xff09;与其参数绑定&#xff0c;生成一个新的可调用对象。这个新的可调用对象可以像普通函数一样被调用&#xff0c;…

WebMvcConfigurer(一)介绍

一、简介 WebMvcConfigurer配置类其实是Spring内部的一种配置方式&#xff0c;采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制&#xff0c;可以自定义一些Handler&#xff0c;Interceptor&#xff0c;ViewResolver&#xff0c;MessageConverter。基于j…

【NR RedCap】Release 18标准中对5G RedCap的增强

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…

leetcode_34.在排序数组中查找元素的第一个和最后一个位置

34. 在排序数组中查找元素的第一个和最后一个位置 题目描述&#xff1a;给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计…

ArcGIS小技巧—你分得清投影与定义投影吗

Arcmap中关于投影的工具有四个&#xff0c;分别是定义投影、投影、投影栅格、批量投影。这四个工具既有相同之处也有不同之处&#xff0c;下面我将一一介绍。 ①定义投影&#xff1a;Arcmap中关于定义投影工具是这样描述的&#xff1a;“所有地理数据集均具有一个用于显示、测…

PD虚拟机和双系统哪个好 Mac建议装双系统吗

在当今数字化时代&#xff0c;对于部分使用Mac电脑的用户来说&#xff0c;选择如何在系统中运行Windows或其他操作系统能节省大量精力。Parallels Desktop&#xff08;PD&#xff09;虚拟机和双系统是两种常见的选择&#xff0c;它们各自具有优势和限制。下面我们来看看PD虚拟机…

SM5308 兼容IP5306 2.1A充电 2.4A放电 移动电源IC芯片

SM5308电源管理芯片的应用领域很广泛&#xff0c;主要包括&#xff1a; 1. 移动电源和充电宝&#xff1a;SM5308常用于移动电源解决方案中&#xff0c;因为它可以高效地管理锂电池的充放电过程&#xff0c;并且提供了高集成度和低外部元件数量的需求。 2. 智能手机和平板电脑…

页面分页打印,echarts图解决办法;生成PDF

1&#xff1a;echarts图片前端打印不是很完美&#xff0c;对于VUE2.0版本不是很有好 2&#xff1a;360浏览器不支持vue的最新版本的插件vue3-print-nb 3&#xff1a;vue-print-nb 可以打印带有echarts 一页内容&#xff0c;并且还存在bug&#xff0c;第一次点击打印没有&…

BIM为电力、供水和道路工程无缝集成,助力智慧城市计划

在道路和公用事业工程中利用 Bentley Open 系列应用程序&#xff0c;项目进度加快 10%&#xff0c;节省成本 1,000 万印度卢比 推动基础设施现代化&#xff0c;实现智慧城市愿景 Dholera特别投资区位于印度艾哈迈达巴德西南 100 公里处&#xff0c;毗邻古吉拉特邦的贸易中心&a…

英智数字孪生机器人解决方案,赋能仓库物流模式全面升级

工业机械臂、仓储机器人、物流机器人等模式的机器人系统在现代产业中扮演着愈发重要的角色&#xff0c;他们的发展推动了自动化和智能化水平的提高&#xff0c;有助于为制造业、物流业、医疗保健业和服务业等行业创造新效率并提升人们的生活质量。 行业面临的挑战 机器人开发、…