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 身份证号验证相关推荐

  1. python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  2. Java 身份证号验证

    二代身份证号码验证 扯淡区: 本博客主要内容是利用Java语言来验证身份证号码是否符合18位的二代身份证号规范. 公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次 ...

  3. 利用python实现身份证号验证系统

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  4. python身份证验证系统_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  5. PHP 身份证号验证是否是真实的

    已测试,90%左右的身份证号都可以检验出来是否是真实的身份证号,如果要求不高的话,可以不用在使用第三方的身份证号验证了封装的model 可以直接使用的 大家可以借鉴看一下,有问题可以及时指出 < ...

  6. 基于struts2框架-自定义身份证号验证器

    自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口.  > 可以选择继承 ValidatorSupport 或 FieldValidato ...

  7. 用python制作全国身份证号验证及查询系统

    ​ 大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性 ...

  8. 身份证号验证 银行卡号验证

    身份证号验证 /* 审批系统的身份证验证* 身份证15位编码规则:dddddd yymmdd xx p* dddddd:6位地区编码* yymmdd: 出生年(两位年)月日,如:910215* xx: ...

  9. 【趣味案例】用python制作全国身份证号验证及查询系统

    今天给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及发证地查询,看起来是不是很高大上, ...

  10. jq身份证号验证(详细)

    //检查确认身份证是否合法(新) function checkCardNumber(text, callback){ checkAge = true; var number = text; if (n ...

最新文章

  1. 如何管理并设计你的口令
  2. php编译安装memcache,ubuntu源码编译安装memcached和php-memcache 扩展
  3. 论大型信息系统集成项目的整体管理
  4. sublime text3 添加到右键菜单
  5. eventbus多个订阅_番石榴的EventBus –简单的发布者/订阅者
  6. p3d gauge 尺寸问题
  7. VNPY - 事件引擎
  8. oracle常见受权与回收权限 grant和revoke
  9. Synchronized与ReentrantLock区别总结(简单粗暴,一目了然)
  10. STS下载教程(include官网无法下载解决方案)
  11. 融思杯 第三届 部分wp
  12. c++ MFC 根据屏幕分辨率变化自动调整控件位置和大小
  13. go 字符转ASCII 字符转成数字
  14. TeamCenter怎样删除已发布物料
  15. y=asin(wx+φ)的对称中心_函数y=Asin(wx+φ)的图像
  16. UITableView性能优化
  17. 淘宝帝国是如何创建的连载03
  18. vue实现通讯录功能
  19. 【小沐学Android】Android手机上基于Termux实现Web服务器(Python、node.js、C/C++)
  20. 基于GLSurfaceView的视频播放器偶现无画面的问题分析

热门文章

  1. python办公自动化pdf下载_最全总结 | 聊聊 Python 办公自动化之 PDF(上)
  2. html页面书签,利用CSS实现书签效果实例源码
  3. 第一篇 Object-C快速入门
  4. PreferenceScreen1
  5. 分享一下Java从基础到进阶各阶段视频教程
  6. 从零开始系类——模拟电子技术
  7. 10种自动音乐播放器代码
  8. 陈希孺概率与数统:入门级自学佳作
  9. Windows API函数大全(精心总结)
  10. 【作业锦集】机器人学导论-空间变换及Matlab实现(part-1)