Vue+iView身份证、统一社会信用编码校验
身份证校验
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.工具类: import * as moment from 'moment'; import {isUndefined} from 'util'; import {Abstra ...
- 组织机构代码和统一社会信用代码校验规则以及java校验工具类
组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...
- Python实现统一社会信用代码校验(GB32100-2015)
Python实现统一社会信用代码校验 统一社会信用代码国标校验 统一社会信用代码国标校验规则 示例说明 Python代码实现(仅实现GB- 32100-2015中的规则) 统一社会信用代码国标校验 ...
- JAVA 身份证校验与统一社会信用代码校验
B话少说,上代码 原理默认大家都懂了,不懂的话可以百度一下 package com.microlinktech.rns.util;import lombok.Getter; import lombok ...
- 身份证号码及统一社会信用代码校验
/** * 身份证号码验证 * rule为form表单当前验证的filed对应的验证rule规则 * value为当前输入框返回值 * callback为回调函数,验证成功直接回调,验证失败回调函数返 ...
- 实现统一社会信用代码校验
社会信用代码:由18位数字和大写的字母组成,第1位是登记管理部门代码,第2位是机构类别代码,第3~8位登记管理机关行政区划码,第9~17位主休标识码,第18位校验码.有五个部分组成. 具体详情请点击: ...
- hive自定义函数实现组织机构代码、统一社会信用代码校验
一.根据中华人民共和国国家标准全国组织机构代码(9位)编制规则实现规则校验 1.组织机构代码编码规则 1.1组织机构代码的组成 全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉 ...
- 全国组织机构统一社会信用代码校验 - Java 版
主要是网上错误的代码太多,为了避免大家踩坑,特此更正,详细规则如下: GB 32100-2015 法人和其他组织统一社会信用代码编码规则 private static final String BAS ...
- 身份证号与统一社会信用代码的校验
身份证号与统一社会信用代码的表单校验 一.校验身份证号 <el-form ref="form" :model="form" :rules="ru ...
最新文章
- 为什么很难创造出新的处理器?
- 可测试性如何帮助团队提升效率
- GPass:GNOME 暗码治理器
- 【新星计划】Python OpenCV 形态学应用—图像开运算与闭运算
- mysql go命令行_Go语言调用mysql.exe和mysqldump命令行导入导出数据库
- 第一个hibernate程序
- RocketMQ错误消息重试策略之重试情况的分析
- SAP Data Intelligence上的Python Operator
- shell中lsort,uniq,cut,wc,seq命令使用
- 机器学习模型实战!如何从 900 万张图片中对 600 类照片进行分类? | 技术头条...
- 5. laravel 路由(2)
- C语言实现简单小游戏
- 学生信息管理系统详细设计文档
- 抖音运营详细教程,算法解读、平台规则、热门涨粉......丨国仁网络
- The transaction timeout is larger than the maximum value allowed by the broker
- 快递手持PDA的应用介绍
- 2021江苏省南通市高考成绩查询时间,2021年江苏南通高考时间:6月7日至9日
- 关于联想小新Air14(或小新系列)更新系统后蓝屏的解决方法(关于windows系统更新安装补丁后出现蓝屏的解决方法)
- 【玩转python】Flask基金数据可视化
- matlab 梯度图像,在matlab中快速计算图像的梯度