简单的正则表达式: (1)preg_match("/^(\d{18,18}|\d{15,15}|\d{17,17}x)$/",$id_card)(2)preg_match("/^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3}) (\d|X)?$/",$id_card)(3)preg_match("/(^\d{15}$/)|(\d{17}(?:\d|x|X)$/),$id_card) 2.复杂并且严格一些的…
package day20181016; /** * 身份证的验证 34052419800101001X * */ import java.util.Scanner; public class ZuoYe04 { public static void main(String[] args) { Scanner input=new Scanner(System.in); int[]numArray={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; System.out.…
我的代码: package day20181016;/** * 身份证的验证 34052419800101001X * */import java.util.Scanner;public class ZuoYe04 { public static void main(String[] args) { Scanner input=new Scanner(System.in); int[]numArray={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; System.o…
本篇文章是本人在网上搜集了一些验证,然后又个人进行一定修改的关于身份证的验证,欢迎修改指正..... function IdCardValidateRule(idCard) { var tip;    //1.传入15位或者18位身份证号码,18位号码末位可以为数字或X    idCard = idCard.toUpperCase();    //2.去掉身份证的左右空格    idCard = trim(idCard);    //3.判断输入的身份证长度    if (!(/(^\d{15}…
package com.ihome.data; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Random; public class CertNoUtil { // 18位身份证号码各位的含义: // 1-2位省.自治区.直辖市代码: // 3-4位地级市.盟.自治州代码: // 5-6位县.县级市.区代码: // 7-14位出生年月日,…
/** * 验证18位身份证(计算方式在百度百科有) * @param string $id 身份证 * return boolean */ function check_identity($id='') { $set = array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2); $ver = array('1','0','x','9','8','7','6','5','4','3','2'); $arr = str_split($id); $sum = 0; fo…
import java.util.Scanner; /** * 18位身份证校验 * @author [J.H] * */ public class Test { // 身份证校验 public static boolean checkId(String id) { char[] ch = id.toCharArray(); boolean flag1 = verForm(id); boolean flag2 = verify(ch); if (flag1 == true && flag2…
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999<公民身份号码>中做了明确的规定. GB11643-1999<公民身份号码>为GB11643-1989<社会保障号码>的修订版,其中指出将原标准名称"社会保障号码"更名为"公民身份号码",另外GB11643-1999<公民身份号码>从实施之日起代替GB11643-1989.GB11643-1999<公民身份号码>主要内容如…
public static boolean validate18Idcard(String idcard){ if(idcard == null ) { return false; } if(idcard.length()!=18) { return false; } char [] id =idcard.toCharArray(); int i, sum, n; for (sum = i = 0; i < 17; i++){ sum += ((1 << (17 - i)) % 11)…
公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.1.地址码表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行. 2.出生日期码表示编码对象出生的年.月.日,按GB/T7408的规定执行.年.月.日代码之间不用分隔符.例:某人出生日期为1966年10月26日,其出生日期码为19661026. 3.顺序码表示在同一地址码所标识的区域范围内,对同年.同月.同日…
说明:jQuery实现身份证输入添加空格,表单验证身份证输入,并且输入时前6位添加一个空格,中间8位后添加一个空格,及身份证格式验证 参考:基于jquery实现的银行卡号每隔4位自动插入空格的实现代码 参考网址:  http://www.jb51.net/article/97966.html 源码代码如下:               1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4  <meta…
原文链接 function check_id(value) { var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加权因子 var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];//校验码 if(/^\d{17}\d|x$/i.test(value)){ var sum = 0, idx; for(var i = 0; i < value.len…
原文地址:http://www.cnblogs.com/zhongshengzhen/ java对身份证验证及正则表达式解析 package service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.regex.Pattern; import org.junit.Test; public class TestRegex { public static boolean…
public static boolean isIDNumber(String iDNumber) { if (iDNumber == null || "".equals(iDNumber)) { return false; } //获取日期 String d = iDNumber.substring(6, 14); boolean isDateStr = isDateStr(d); if (!isDateStr) { System.err.println("证件非法, 出生…
Js完美验证15/18身份证,Js验证身份证,支持15/18位 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2015年9月15日 15:19:23 星期二 http://fanshuyao.iteye.com/ == equ…
//验证身份证是否有效 function validateIDCard($IDCard) { if (strlen($IDCard) == 18) { return check18IDCard($IDCard); } elseif ((strlen($IDCard) == 15)) { $IDCard = convertIDCard15to18($IDCard); return check18IDCard($IDCard); } else { return false; } } //计算身份证的…
/** * 将15位转换为18位 * @param idCode 15位身份证号 * @return String 18位身份证号 */ public String toEighteen(String idCode) { idCode = idCode.substring(0, 6) + "19" + idCode.substring(6);//加入年份,变成17位 //计算校验位 begin char[] Ai = idCode.toCharArray(); int[] Wi = {…
IdCardExpUtil.java package com.javazs.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Hashtable; import java.util.Scanner; import java.util.rege…
1.设置接口 @Constraint(validatedBy = ChineseIdNumberValidator.class) @Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface IdNumber { String message() default "{common.Id…
//********************************************************************************* //将15位身份证转换成18位时,首先把出生年扩展4位,就是在原来15位号码的第6为数字后 //增加一个19,然后在第17位数字后添加一位校验码,校验码是由前17位数字本体码加权求 //和公式,通过计算模,再通过模得到对应的校验码. //计算校验码公式 //(1)17位数字本体码加权求和公式 //S=Sum(Ai*Wi),i=0,…
PHP实现15位身份证号转18位 参考博客: 作者:selfimpr626 来源:CSDN (根据身份证号计算年龄,15位身份证号码转18位) 原文:https://blog.csdn.net/weixin_41888813/article/details/82457069 作者:iteye_11848 来源:CSDN (15位的身份证号转为18位) 原文:https://blog.csdn.net/iteye_11848/article/details/81310676 第一代身份证:15位身…
/*根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 地址码表示编码对象常住户口所在县(市.旗.区)的行政区划代码. 出生日期码表示编码对象出生的年.月.日,其中年份用四位数字表示,年.月.日之间不用分隔符. 顺序码表示同一地址码所标识的区域范围内,对同年.月.日出生的人员编定的顺序号.顺序码的奇数分给男…
判断是第几代身份证(第一代15位, 第二代18位) if (cardId.length() == 15 || cardId.length() == 18) { if (!this.cardCodeVerifySimple(cardId)) { error.put("cardId", "15位或18位身份证号码不正确"); } else { if (cardId.length() == 18 && !this.cardCodeVerify(cardId…
var idCardNoUtil = { provinceAndCitys: {11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江", 31:"上海",32:"江苏",33:"浙江",34:"安徽&qu…
身份证号码编码规则及校验位校验算法 算法地址:http://jingyan.baidu.com/article/7f41ececff944a593d095c8c.html 简单验证长度 /// <summary> /// 检查身份证基本信息 /// </summary> /// <returns>结果</returns> private string CheckAndParse() { if (string.IsNullOrWhiteSpace(this.I…
身份证验证JS程序function checkidcardfun(code) { var city = {11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏",…
jQuery身份证验证插件 /*! * jQuery isIDCard Plugin v1.0.0 * http://www.cnblogs.com/cssfirefly/p/5629561.html * * Copyright 2016 link * Released under the MIT license */ (function(factory) { if (typeof define === 'function' && define.amd) { // AMD define([…
C#中国身份证验证,包括省份验证和校验码验证,符合GB11643-1999标准...   今天写的 C#中国身份证验证,包括省份验证和校验码验证,符合GB11643-1999标准... 理论部分: 15位身份证号码=6位地区代码+6位生日+3位编号18位身份证号码=6位地区代码+8位生日+3位编号+1位检验码  各省市地区国家代码前两位代码是:       北京   11   吉林   22     福建   35   广东   44   云南   53   天津   12   黑龙江   23…
需要说明的是这里的大陆身份证识别并不是公安局联网的识别,而是按国标GB 11643进行的验证,所以其验证结果只能说符合国标规范,但不能保证该身份证一定真实存在,如果你实际需求是希望身份证一定真实存在,那么你可以在通过此类库初步验证后,再调用第三方(或牛逼的可以直连公安,毕竟所有的第三方其数据来源必定是公安局)以降低调用成本(公安调用一次两块钱,还不是有钱就能调用!!!) 转到正题,在NumberValidators中,大陆身份证相关的代码均在NumberValidators.IdentityCa…
var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ]; // 加权因子 var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]; // 身份证验证位值.10代表X function checkIdcard(idCard) { idCard = trim(idCard);//去掉字符串头尾空格 if (idCard.length == 15) { return is…