java驗證身份證號碼及編碼規則和提取相應資訊
身份證前6位【ABCDEF】為行政區劃數字程式碼(簡稱數字碼)說明(參考《GB/T 2260-2007 中華人民共和國行政區劃程式碼》):該數字碼的編制原則和結構分析,它採用三層六位層次碼結構,按層次分別表示我國各省(自治區,直轄市,特別行政區)、市(地區,自治州,盟)、縣(自治縣、縣級市、旗、自治旗、市轄區、林區、特區)。
數字碼碼位結構從左至右的含義是:
第一層為AB兩位程式碼表示省、自治區、直轄市、特別行政區;
第二層為CD兩位程式碼表示市、地區、自治州、盟、直轄市所轄市轄區、縣彙總碼、省(自治區)直轄縣級行政區劃彙總碼,其中:
——01~20、51~70表示市,01、02還用於表示直轄市所轄市轄區、縣彙總碼;
——21~50表示地區、自治州、盟;
——90表示省(自治區)直轄縣級行政區劃彙總碼。
第三層為EF兩位表示縣、自治縣、縣級市、旗、自治旗、市轄區、林區、特區,其中:
——01~20表示市轄區、地區(自治州、盟)轄縣級市、市轄特區以及省(自治區)直轄縣級行政區劃中的縣級市,01通常表示轄區彙總碼;
——21~80表示縣、自治縣、旗、自治旗、林區、地區轄特區;
——81~99表示省(自治區)轄縣級市。
身份證合法性校驗:IdcardValidator.java
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.regex.Pattern;
- /**
- * <p>
-
* 類說明:身份證合法性校驗
- * </p>
- * <p>
- * --15位身份證號碼:第7、8位為出生年份(兩位數),第9、10位為出生月份,第11、12位代表出生日期,第15位代表性別,奇數為男,偶數為女。
- * --18位身份證號碼:第7、8、9、10位為出生年份(四位數),第11、第12位為出生月份,第13、14位代表出生日期,第17位代表性別,奇數為男,偶數為女。
- * </p>
- */
-
@SuppressWarnings({"unchecked","unused","all"
- publicclass IdcardValidator {
- /**
- * 省,直轄市程式碼表: { 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:"國外"}
- */
- protected String codeAndCity[][] = { { "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", "國外" } };
- private String cityCode[] = { "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" };
-
相關推薦
java驗證身份證號碼及編碼規則和提取相應資訊
身份證前6位【ABCDEF】為行政區劃數字程式碼(簡稱數字碼)說明(參考《GB/T 2260-2007 中華人民共和國行政區劃程式碼》):該數字碼的編制原則和結構分析,它採用三層六位層次碼結構,按層次分別表示我國各省(自治區,直轄市,特別行政區)、市(地區,自治州,盟)、縣(自治縣、縣級市、旗、自治旗、市
java驗證身份證號碼是否有效源代碼
numeric turn info 末尾 open 範圍 是否 驗證 pri 原文:http://www.open-open.com/code/view/1420373343171 1、描述 用java語言判斷身份證號碼是否有效,地區碼、出身年月、校驗碼等驗證算法
java驗證身份證號碼
import java.util.Calendar; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Map; public class IDCardUtil {
js驗證身份證號碼與出生日期和性別
case 'CompareCodeAndSex': var Code=vObj.value; var Sex=vCon.value; var CodeSex; if(!vObj.disabled)
js驗證身份證號碼(省份 生日規範 避免無效資訊)
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",4
詳細驗證身份證號碼規則和姓名(漢字)的java程式碼
import java.text.SimpleDateFormat; import java.util.Date; /** * 驗證身份證號碼 身份證號碼, 可以解析身份證號碼的各個欄位,以及驗證身份證號碼是否有效; 身份證號碼構成:6位地址編碼+8位生日+3位順序碼+1位校驗碼 * * @Cla
Java實現身份證號碼驗證源碼分享
分隔 toc bst nbsp port birt random exti 一位數 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar;
java 驗證手機號碼、電話號碼(包括最新的電信、聯通和移動號碼)
-s 轉義 電信號 auth input sim pem csharp class 一、目前的號碼段(2017-06-01更新) 二、代碼 package com.linbilin.test; import java.util.regex.Pattern;
php 驗證 身份證號碼 合法性 相容 (15位 和 18位身份證號碼)
<?php header("Content-Type: text/html; charset=utf-8"); echo "<p align='center'> <form method='post'>
驗證身份證號碼的正確性
判斷 號碼 match function inpu func urn input alert id為input的id// 判斷身份證是否正確$(‘#iscard‘).blur(function() { var card = $.trim($("#iscard").va
jquery驗證身份證號碼、手機號碼
htm tee false 檢測 包括 ber == 香港 bst // 驗證身份證 function IsUserCard(idNo) { if (idNo.length != 0) { if (!checkCard(idNo)) {
js驗證身份證號碼是否合規
blog i++ num sub 包括 功能 iso errcode split 需求:最近要做實名驗證的功能,但是驗證身份證號碼和身份證圖片的接口不想短信,比較貴,所以之前我們要驗證嚴謹一點,參考了網上關於驗證身份證號碼的代碼,總結一下 代碼: //驗證身份證號碼 fu
JS根據身份證號碼精確計算年齡和性別
def user col .get || info fin ret 得到 1 /** 2 * 根據身份證號得到姓別和精確計算年齡 3 */ 4 function analyzeIDCard(IDCard){ 5 var sexAndAge = {};
正則表示式---驗證身份證號碼
/** * 正則表示式驗證身份證號碼 * * @param integer $num 所要驗證的身份證號碼 * @return boolean */ public static function isPersonalCard($
使用Python隨機生成身份證號碼及校驗
GitHub : https://github.com/jayknoxqu/id-number-util 身份組成方式 中華人民共和國國家標準GB 11643-1999《公民身份號碼》中規定:公民身份號碼是特徵組合碼,由十七位數字本體碼和一位校驗碼組成。 18位數字組合的方式是:
Java 驗證身份證號的合法性(只利用校驗位)
import java.util.Scanner; public class E201_06_04_身份證驗證 { public static void main(String[] args)
java驗證openssl生成的ssl證書和私鑰是否匹配
最近有一個需求上傳ssl證書和私鑰,但是上傳之前需要驗證ssl證書和私鑰是否正確,其中的業務邏輯涉及到以下幾點: 一、讀取ssl證書,讀取ssl證書公鑰 要實現該功能比較簡單,java裡面有現成的api支援。
正則表示式--驗證身份證號碼
function isCardNo(card){ var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; return pattern.t
C#驗證身份證號碼正確性
arr lin += for vat .html com pan 驗證身份證 原文:C#驗證身份證號碼正確性18位號碼: 1 private static bool CheckIDCard18(string Id) 2 { 3
JAVA識別身份證號碼,H5識別身份證號碼,tesseract-ocr識別(二)
背景介紹 上一篇博文介紹瞭如何使用JAVA識別身份證號碼,假設在截取了身份證號碼資訊的情況下,這一篇博文主要討論一下思路吧,技術方面都是大家會的。 思路分析 H5拍照上傳 —> 服務端擷取身份證號碼 —–> 識別號碼 —–>