VUE 身份证号验证
export function validateSfz(rule, value, callback) {if (!value) {return callback(new Error('身份证号码不能为空'));}function validataCredentials(num) {var msg, boo; // msg身份证验证友情提示,boo返回值var num = num.toUpperCase(); // 身份证为末尾可能是X// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,// 最后一位是校验位,可能为数字或字符X。const arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);const arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');var nTemp = 0,i;if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) {// 输入的身份证号长度不对,或者号码不符合规定;return [boo = false, msg = "输入的身份证号长度不对,或者号码不符合规定"];}// 校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。// 下面分别分析出生日期和校验位var len, re;len = num.length;if (len == 15) {re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);var arrSplit = num.match(re);// 检查生日日期是否正确var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);var bGoodDay;bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));if (!bGoodDay) {// 输入的身份证号里出生日期不对!return [boo = false, msg = "输入的身份证号里出生日期不对!"];} else {// 将15位身份证转成18位// 校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。 num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);for (i = 0; i < 17; i++) {nTemp += num.substr(i, 1) * arrInt[i];}num += arrCh[nTemp % 11];return [boo = true, msg = num];}}if (len == 18) {re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);var arrSplit = num.match(re);// 检查生日日期是否正确var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);var bGoodDay;bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));if (!bGoodDay) {// 输入的身份证号里出生日期不对! return [boo = false, msg = " 输入的身份证号里出生日期不对"];} else {// 检验18位身份证的校验码是否正确。// 校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。var valnum;for (i = 0; i < 17; i++) {nTemp += num.substr(i, 1) * arrInt[i];}valnum = arrCh[nTemp % 11];if (valnum != num.substr(17, 1)) {// 18位身份证的校验码不正确!return [boo = false, msg = "身份证的校验码不正确!"];}return [boo = true, msg = "验证成功"]}}return [boo = false, msg = "身份证的长度不正确!"];}setTimeout(() => {var res = validataCredentials(value);if (!res[0]) {callback(new Error(res[1]));} else {callback();}}, 200);
};
VUE HTML 部分
<el-form:model="ruleForm":rules="rules"ref="ruleForm"label-width="100px"class="demo-ruleForm"><el-form-itemlabel="申请人身份证号"prop="identity"label-width="27%"><el-inputv-model="ruleForm.identity"placeholder="请输入您的身份证号码(如:6105******1452)":maxlength="18"></el-input></el-form-item>
</el-form>
使用方式: 自己创建一个js文件 如:validateSfz.js
JS 部分
import { validateSfz } from "../js/validateSfz.js";data() {return {ruleForm: {identity: "",},rules: {identity: [{ required: true, validator: validateSfz, trigger: "blur" }],},}}
复制代码可以直接使用 参考 element ui 表单验证 自定义验证。
VUE 身份证号验证相关推荐
- python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...
大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...
- Java 身份证号验证
二代身份证号码验证 扯淡区: 本博客主要内容是利用Java语言来验证身份证号码是否符合18位的二代身份证号规范. 公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次 ...
- 利用python实现身份证号验证系统
大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...
- python身份证验证系统_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...
大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...
- PHP 身份证号验证是否是真实的
已测试,90%左右的身份证号都可以检验出来是否是真实的身份证号,如果要求不高的话,可以不用在使用第三方的身份证号验证了封装的model 可以直接使用的 大家可以借鉴看一下,有问题可以及时指出 < ...
- 基于struts2框架-自定义身份证号验证器
自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口. > 可以选择继承 ValidatorSupport 或 FieldValidato ...
- 用python制作全国身份证号验证及查询系统
大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性 ...
- 身份证号验证 银行卡号验证
身份证号验证 /* 审批系统的身份证验证* 身份证15位编码规则:dddddd yymmdd xx p* dddddd:6位地区编码* yymmdd: 出生年(两位年)月日,如:910215* xx: ...
- 【趣味案例】用python制作全国身份证号验证及查询系统
今天给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及发证地查询,看起来是不是很高大上, ...
- jq身份证号验证(详细)
//检查确认身份证是否合法(新) function checkCardNumber(text, callback){ checkAge = true; var number = text; if (n ...
最新文章
- 如何管理并设计你的口令
- php编译安装memcache,ubuntu源码编译安装memcached和php-memcache 扩展
- 论大型信息系统集成项目的整体管理
- sublime text3 添加到右键菜单
- eventbus多个订阅_番石榴的EventBus –简单的发布者/订阅者
- p3d gauge 尺寸问题
- VNPY - 事件引擎
- oracle常见受权与回收权限 grant和revoke
- Synchronized与ReentrantLock区别总结(简单粗暴,一目了然)
- STS下载教程(include官网无法下载解决方案)
- 融思杯 第三届 部分wp
- c++ MFC 根据屏幕分辨率变化自动调整控件位置和大小
- go 字符转ASCII 字符转成数字
- TeamCenter怎样删除已发布物料
- y=asin(wx+φ)的对称中心_函数y=Asin(wx+φ)的图像
- UITableView性能优化
- 淘宝帝国是如何创建的连载03
- vue实现通讯录功能
- 【小沐学Android】Android手机上基于Termux实现Web服务器(Python、node.js、C/C++)
- 基于GLSurfaceView的视频播放器偶现无画面的问题分析