身份证校验

 export default {data() {const IdCardNum= (rule, value, callback) => {//非空校验if(!value){return callback(new Error('请输入身份证号!'));}//长度校验if(value.length!=18){return callback(new Error('输入有误,身份证号长度需为18位!'));}//格式和日期校验let pattern = /^\d{6}(1[8-9]|[2-9][0-9])\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}(\d|X)$/;if(!pattern.test(value)){return callback(new Error('输入有误,请检查身份证号格式!'));}//省份地址编码校验var city = {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 : "国外 "};if(!city[value.substr(0,2)]){return callback(new Error('输入有误,请检查身份证号地址编码是否正确!'));}//最后一位校验码校验if (value.length == 18) {value = value.split('');//∑(ai×Wi)(mod 11)//加权因子let factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//校验位let parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];let sum = 0;let ai = 0;let wi = 0;for (let i = 0; i < 17; i++) {ai = value[i];wi = factor[i];sum += ai * wi;}let last = parity[sum % 11];if (last != value[17]) {return callback(new Error('校验失败,请输入正确的身份证号!'));}}return callback();};
 IdCardNum: [{ required: true, message: "法人身份证号不能为空.", trigger: "blur" },{type: "string",max: 18,min: 18,pattern:/^\d{6}(1[8-9]|[2-9][0-9])\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/,message: "请输入正确的身份证号",trigger: "blur"},{ validator: validIdCardNum, trigger: 'blur' }],

统一社会信用编码校验

 const validlegalbizLicNum= (rule, value, callback) => {let Ancode;//统一社会信用代码的每一个值let Ancodevalue;//统一社会信用代码每一个值的权重let total = 0;let weightedfactors = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28];//加权因子//不用I、O、S、V、Zlet str = '0123456789ABCDEFGHJKLMNPQRTUWXY';for (let i = 0; i < value.length - 1; i++) {Ancode = value.substring(i, i + 1);Ancodevalue = str.indexOf(Ancode);total = total + Ancodevalue * weightedfactors[i];//权重与加权因子相乘之和}let logiccheckcode = 31 - total % 31;if (logiccheckcode == 31) {logiccheckcode = 0;}let Str = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,T,U,W,X,Y";let Array_Str = Str.split(',');logiccheckcode = Array_Str[logiccheckcode];let checkcode = value.substring(17, 18);if (logiccheckcode != checkcode) {return callback(new Error('校验失败,请输入正确的统一社会信用代码!'));;}return callback();};
  bizLicNum: [{ required: true, message: "统一社会信用代码不能为空.", trigger: "blur" },{type: "string",max: 18,message: "输入有误,统一社会信用代码长度需为18位",trigger: "change"},{type: "string",/*统一社会信用代码由十八位的阿拉伯数字或大写英文字母(不使用I、O、Z、S、V)组成。第1位:登记管理部门代码(共一位字符)登记管理部门代码:使用阿拉伯数字或大写英文字母表示。​第2位:机构类别代码(共一位字符)第3位~第8位:登记管理机关行政区划码(共六位阿拉伯数字)第9位~第17位:主体标识码(组织机构代码)(共九位字符)第18位:校验码​(共一位字符)*//* pattern: /[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}/g,*/pattern: /^([1,5,9][1,2,3,9]|[2,3,4,6,7,8,A,B,C,D,E,G,Y]1)\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,message: "请输入正确的统一社会信用代码",trigger: "blur"},{ validator: validlegalbizLicNum, trigger: 'blur' }],

Vue+iView身份证、统一社会信用编码校验相关推荐

  1. 全网唯一正确身份证和社统一社会信用代码自定义表单校验器(身份证校验和社统一社会信用代码校验)

    话不多说,直入正题: 1.工具类: import * as moment from 'moment'; import {isUndefined} from 'util'; import {Abstra ...

  2. 组织机构代码和统一社会信用代码校验规则以及java校验工具类

    组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...

  3. Python实现统一社会信用代码校验(GB32100-2015)

    Python实现统一社会信用代码校验 统一社会信用代码国标校验 统一社会信用代码国标校验规则 示例说明 Python代码实现(仅实现GB- 32100-2015中的规则) 统一社会信用代码国标校验   ...

  4. JAVA 身份证校验与统一社会信用代码校验

    B话少说,上代码 原理默认大家都懂了,不懂的话可以百度一下 package com.microlinktech.rns.util;import lombok.Getter; import lombok ...

  5. 身份证号码及统一社会信用代码校验

    /** * 身份证号码验证 * rule为form表单当前验证的filed对应的验证rule规则 * value为当前输入框返回值 * callback为回调函数,验证成功直接回调,验证失败回调函数返 ...

  6. 实现统一社会信用代码校验

    社会信用代码:由18位数字和大写的字母组成,第1位是登记管理部门代码,第2位是机构类别代码,第3~8位登记管理机关行政区划码,第9~17位主休标识码,第18位校验码.有五个部分组成. 具体详情请点击: ...

  7. hive自定义函数实现组织机构代码、统一社会信用代码校验

    一.根据中华人民共和国国家标准全国组织机构代码(9位)编制规则实现规则校验 1.组织机构代码编码规则 1.1组织机构代码的组成 全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉 ...

  8. 全国组织机构统一社会信用代码校验 - Java 版

    主要是网上错误的代码太多,为了避免大家踩坑,特此更正,详细规则如下: GB 32100-2015 法人和其他组织统一社会信用代码编码规则 private static final String BAS ...

  9. 身份证号与统一社会信用代码的校验

    身份证号与统一社会信用代码的表单校验 一.校验身份证号 <el-form ref="form" :model="form" :rules="ru ...

最新文章

  1. 为什么很难创造出新的处理器?
  2. 可测试性如何帮助团队提升效率
  3. GPass:GNOME 暗码治理器
  4. 【新星计划】Python OpenCV 形态学应用—图像开运算与闭运算
  5. mysql go命令行_Go语言调用mysql.exe和mysqldump命令行导入导出数据库
  6. 第一个hibernate程序
  7. RocketMQ错误消息重试策略之重试情况的分析
  8. SAP Data Intelligence上的Python Operator
  9. shell中lsort,uniq,cut,wc,seq命令使用
  10. 机器学习模型实战!如何从 900 万张图片中对 600 类照片进行分类? | 技术头条...
  11. 5. laravel 路由(2)
  12. C语言实现简单小游戏
  13. 学生信息管理系统详细设计文档
  14. 抖音运营详细教程,算法解读、平台规则、热门涨粉......丨国仁网络
  15. The transaction timeout is larger than the maximum value allowed by the broker
  16. 快递手持PDA的应用介绍
  17. 2021江苏省南通市高考成绩查询时间,2021年江苏南通高考时间:6月7日至9日
  18. 关于联想小新Air14(或小新系列)更新系统后蓝屏的解决方法(关于windows系统更新安装补丁后出现蓝屏的解决方法)
  19. 【玩转python】Flask基金数据可视化
  20. matlab 梯度图像,在matlab中快速计算图像的梯度

热门文章

  1. 常用游戏类型简写速查
  2. 真实骑手数据:73万大学毕业生在送外卖
  3. 一举拿下阿里、字节、美团、京东、虾皮offer
  4. java实现爬取文本中的手机号、邮箱以及电话号码
  5. STM32用一个定时器封装多个定时函数调用
  6. 西安工业大学计算机学院科协,卢文科
  7. JS逆向hook通用脚本合集
  8. 依照以下条件写出合适的XML Schema.
  9. 经常看直播,你知道如何用jmeter对直播间进行压力测试吗?
  10. 为什么用线程池?解释下线程池参数?