以前开发的时候用到过,来源于网络,有需要的可以粘过去直接用 /** * 判断身份证号码是否符合格式....= 18) { errorInfo = "身份证号码长度应该为15位或18位。"...+ IDStr.substring(6, 15); } if (isNumeric(Ai) == false) { errorInfo = "身份证...if (isDataFormat(strYear + "-" + strMonth + "-" + strDay) == false) { errorInfo = "身份证生日无效...(IDStr.length() == 18) { if (Ai.equals(IDStr) == false) { errorInfo = "身份证无效
* yyyymmdd: 出生年(四位年)月日,如:19910215 * xxx:顺序编码,系统产生,无法确定,奇数为男,偶数为女 * y: 校验码...,那么第十八位将用X来代替 * 校验位计算公式:Y_P = mod( ∑(Ai×Wi),11 ) * i为身份证号码1...17 位; Y_P为校验码Y所在校验码数组位置...idCard.substring(i,i+1)*idCardWi[i]; } var idCardMod=idCardWiSum%11;//计算出校验码所在数组的位置...则说明校验码是10,身份证号码最后一位应该是X if(idCardMod==2){ if(idCardLast...; }else{ alert("身份证号码错误!")
身份证校验 该函数能够检查身份证号码是否正确 CREATE DEFINER=`neo`@`%` FUNCTION `check_id_number`(`idnumber` CHAR(18)) RETURNS...; IF right(idnumber,1) = verify THEN set status = 'true'; END IF; RETURN status; END 首先我们使用正确身份证号码进行测试...| +--------------------------------------------+ 1 row in set, 1 warning (0.00 sec) 随便改译为数,校验失败返回
描述: 我国国标〖GB 11643-1999〗中规定:公民身份号码是18位特征组合码,由十七位数字本体码和一位数字校验码组成。...排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。...其校验码(最后一位)计算方法和步骤为: (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和 其中Ai:表示第i位置上的身份证号码数字值...Y 0 1 2 3 4 5 6 7 8 9 10 校验码 1 0 X 9 8 7 6 5 4 3 2 例如:某身份证前17位为11010519491231002 i 1 2 3 4 5 6 7 8...X(大写) 请按上面所述步骤编程,输入一个二代身份证号,检查该身份证是否正确。
之前在做项目的时候遇到了需要校验身份证号码,最初始的想法就是校验一下是否数字还有就是校验长度,后来想到有的身份证号的最末尾数字是X,于是又加入了一层判断末尾数为X的判断。...写好以后总是感觉不对劲,因为之前写校验手机号的就能校验一下大致的真伪,但是现在写的身份证校验根本就算不上是校验。...于是就在网上搜了一下,发现身份证号码是有规律和算法的,下面来看一下 根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成...15位的身份证编码首先把出生年扩展为4位,简单的就是增加一个19或18,这样就包含了所有1800-1999年出生的人; 2000年后出生的肯定都是18位的了没有这个烦恼,至于1800年前出生的,那啥那时应该还没身份证号这个东东... 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1 有了上面的算法就产生了如何利用js来校验身份证号码的算法了
第十八位表示校验码。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,校验码如果出现数字10,就用X来代替,详情参考下方计算方法。 其中第一代身份证号码为15位。...年份两位数字表示,没有校验码。...前六位详情请参考省市县地区代码 X是罗马字符表示数字10,罗马字符(1-12):Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ、Ⅶ、Ⅷ、Ⅸ、Ⅹ、Ⅺ、Ⅻ……,详情请参考罗马字符 中国居民身份证校验码算法 步骤如下: 将身份证号码前面的...其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2。 通过上面计算得知如果余数是3,第18位的校验码就是9。如果余数是2那么对应的校验码就是X,X实际是罗马数字10。...所以,可以判定这是一个正确的身份证号码。 未经允许不得转载:肥猫博客 » 身份证号校验规则
iCard = converCharToInt(cArr); int iSum17 = getPowerSum(iCard); // 获取校验位...converCharToInt(cArr); int iSum17 = getPowerSum(iCard); // 获取校验位...true : false; } /** * 验证中国香港身份证号码(存在Bug,部份特殊身份证无法检查) * * 身份证前2位为英文字符,如果只出现一个英文字符则表示第一位是空格...,对应数字58 前2位英文字符A-Z分别对应数字10-35 * 最后一位校验码为0-9的数字加上字符"A","A"代表10 * * * 将身份证号码全部转换为数字... * * @param iSum * @return 校验位 */ public static String getCheckCode18(int iSum
百度一搜就能搜到很多身份证校验的例子,这个是最近做项目参考百度文库的demo修改后的 一,js: //身份验证 function checkIdCard(idCard){ var sexId..., "身份证号码位数不对!", "身份证号码出生日期超出范围或含有非法字符!", "身份证号码校验错误!", "身份证地区非法!")...9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式 } if (ereg.test(idCard)) {//测试出生日期的合法性 //计算校验位...idcard_array[9]) * 3; Y = S % 11; M = "F"; JYM = "10X98765432"; M = JYM.substr(Y, 1); //判断校验位
https://blog.csdn.net/wzy0623/article/details/53893238 身份证号码格式校验是很多系统在数据集成时的一个常见需求,我们以18位身份证为例...,使用一个Hive查询实现身份证号码的合法性验证。...该查询结果是所有不合规的身份证号码。按以下身份证号码的定义规则建立查询。 身份证18位分别代表的含义,从左到右方分别表示: 1-2 省级行政区代码。 3-4 地级行政区划分代码。...18 校验码,如果是0-9则用0-9表示,如果是10则用X(罗马数字10)表示。 身份证校验码的计算方法: 将前面的身份证号码17位数分别乘以不同的系数。...首先判断号码长度和省份代码,然后利用Hive的正则表达式匹配函数对整个号码做逐位判断,最后检查校验位是否正确。
第5至6位数字代表所在区(县、自治县、县级市)的代码; 第7-14位数字代表出生年、月、日; 第15-16位数字代表所在的派出所代码; 第17位数字表示性别,奇数表示男性,偶数表示女性; 第18位是校验码...也就是说身份证号码不是随便产生的,它是用来检验身份的正确性。在没有全国个人身份证信息库时。可以通过检验码来校验身份证的正确性。...校验码由0-9的数据和字母X组成,其实X表示10(这并不是英文字母X,而是希腊数字10的缩写)。是由号码编制单位按统一的计算公式计算出来的,校验身份证号码正确性也是通过这个公式实现。...计算出S后再用S对11取余,根据余数确定校验位数字,对照表如下: 比如例子中的身份证号计算出来的S为189,对11取余结果为2,查表2对应的校验码为X,所以该身份证号最后一位应该为X。...: %s 校验通过" % num_str) else: print(u"身份证号: %s 校验不通过, 正确尾号应该为:%s" % (num_str
1、银行卡号有效性问题Luhn算法 2.1、定义工具类 IdentityCardTool 2.1.1 身份证号判断 2.1.2 根据身份证获取生日 2.1.3 从生日上获取年龄 2.1.4 判断是否小于...18岁 2.2、用法举例 前言 应用场景: 1、提款卡的卡号校验 兼容对公账户录入场景: 结算账户类型是对公的时候,不验证卡号规则。...当然你也可以借助第三方进行校验,比如https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?..._input_charset=utf-8&cardNo 2、进件风险控制强化: 通过身份证号码提取法人出生年月日,与当前日进行比较,如<18周岁, 则提示“法人未满18周岁,禁止进件!”...如果此卡要有效,那么,结果必须是10的倍数 应用场景:提款卡的卡号校验 ? 用法 if(!
要校验身份证号码是否合法,那么首先应该知道身份证号码是如何得出的。 身份证号 区位代码6位+出生日期8位+随机码3位(男性奇数,女性偶数)+校验码1位,共计18位。...校验码计算方法 ①身份证号码所在位: 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 代号 a b c d e f g h i j k l m n o p q...8e + 4f + 2g + 1h + 6i + 3j + 7k + 9l + 10m + 5n + 8o + 4p + 2q ④除以11的余数: 余数 0 1 2 3 4 5 6 7 8 9 10 校验码...1 0 X 9 8 7 6 5 4 3 2 有效性验证 信息校验 检查生日信息是否是合法的日期,合法日期必须为当前时间之前的日期含当天 区位码校验 查询区位码是否在区位码表中,如果没有,则可能是历史编码或者无效编码...校验位检查 根据以上计算规则,计算校验位并与实际信息对比,只有相同才是有效的号码。
背景 在进行接口自动化测试的时候,只是校验「状态码」或者「部分字段」并不能很好的发现问题,有时候需要对字段的类型,关系进行校验。...之前尝试过使用JSON Schema来进行校验,但是语法上感觉比较变扭。...安装 $ pip install pydantic 实例 请求接口 最近在测试一个「订单合流」的接口 该接口可以查询制定类型的订单 总共有19个类型的订单,用一个字典处理它的对应关系 biz_type_data..., 14: "讲堂课程", 15: "健康管家", 16: "赞赏", 17: "停诊保障", 18: "检查检验", 19: "心理体检", } 该接口的请求参数为...编写内部逻辑校验 对于某些字段有专门的逻辑,所以我们编写一个biz_type_match函数去校验 @validator('bizType') def biz_type_match(cls,
Spring框架提供了接口参数校验的注解。@Validated。看下源码。
. */ public class JSONSchemaUtil { // 创建订单请求JSON格式校验 private static String schema; static {...// 获取创建订单格式校验 try { String str = ""; // String filePath = JSONSchemaUtil.class.getResource(“/schema.json...mainNode); } return error; } /*** *根据 report里面的错误字段,找到schema对应字段定义的中文提示,显示都前端 * @param report 校验...JsonNode schemaErrorFieldJson = null; //原始校验返回的信息 JsonNode validateResult = null; while...pointer”).textValue()+”:”; error += validateResult.get(“message”).textValue(); } } else { //非必填校验失败
//身份证号合法性验证 //支持18位身份证号 //支持地址编码、出生日期、校验位验证 function IdentityCodeValid(code)...\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)) { tip = "身份证号格式错误";...tip="非法生日"; alert(tip); return; } } //18位身份证需要验证最后一位校验位.../加权因子 var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; //校验位...= code[17]) { tip = "校验位错误"; alert(tip); return;
前言 身份证编码规则如下:根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。...校验码(身份证最后一位)是根据前面十七位数字码,按照ISO7064:1983.MOD11-2校验码计算出来的检验码。...从1999年10月1日起,全国实行公民身份证号码制度,居民身份证编号由原15位升至18位。...前6位为地址码;第七位至14位为出生日期码,此码由6位数改为8位数,其中年份用4位数表示;第15位至17位为顺序码,取消了顺序码中对百岁老人使用的特定编号;第十八位为校验码,主要是为了校验计算机输入公民身份证号码的前...校验码计算方法 将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
本文主要讨论的是二代身份证编码规则及其Java代码实现,下面的校验方式还不是特别严谨,由于只校验了前两位的省份信息,中间六位的出生日期信息和最后一位的校验码信息,故对于部分不满足要求的证件号码刚好同时满足了这里提到的几个条件...当我们输入身份号码进行实名认证的时候,根据校验码算法可以初步判断你输入身份证号码格式是否正确。...余数 0 1 2 3 4 5 6 7 8 9 10 校验码 1 0 X 9 8 7 6 5 4 3 2 (每个余数对应的校验码) 1.2.3 应用举例 某公民的身份证号码是34052419800101001X...X必须大写 2 Java编码实现 2.1 对外提供的调用接口 /** * 二代身份证号码有效性校验 * * @param idNo * @return */ public static boolean..."7", "6", "5", "4", "3", "2"}; 2.4.2 计算第18位校验码 /** * 计算身份证的第十八位校验码 * @param cardIdArray * @return */
java.util.regex.Pattern; import android.net.ParseException; import android.text.TextUtils; /** * 参数校验...*/ public class ValidateParam { /** * 校验用户名判断:头部尾部不能使空格,不能是中文,不能使全角,不能有星号,长度6-16 其实 中文 和 全角 的...m1.matches(); } /** * 校验用户密码:字母,数字,特殊字符,至少两种,6-16个字符 */ public static boolean validateUserPassword...Matcher matcher = pattern.matcher(email); return matcher.matches(); } /** * 判断字段是否为身份证...return boolean */ public static boolean isIdCard(String str) { /** * 身份证正则表达式
1. crc8校验接口 static uint8_t crc8( uint8_t * p_buffer, uint16_t buf_size ) { uint8_t crc = 0; uint8.../crc crc bc 对比工具检验 说明接口正确。
领取专属 10元无门槛券
手把手带您无忧上云