正則實現二代身份證號碼驗證詳解
最近專案需要對身份證進行比較合理的篩選,並不想用到第三方介面,所以寫了個方法:
包括支援身份證號合法性驗證, 支援18位身份證號,支援地址編碼、出生日期、校驗位驗證. 基本上這樣就可以了.
IdCodeValid:function(code){ //身份證號合法性驗證 //支援15位和18位身份證號 //支援地址編碼、出生日期、校驗位驗證 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:"國外 "}; var row={ 'pass':true, 'msg':'驗證成功' }; if(!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(code)){ row={ 'pass':false, 'msg':'身份證號格式錯誤' }; }else if(!city[code.substr(0,2)]){ row={ 'pass':false, 'msg':'身份證號地址編碼錯誤' }; }else{ //18位身份證需要驗證最後一位校驗位 if(code.length == 18){ code = code.split(''); //∑(ai×Wi)(mod 11) //加權因子 var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ]; //校驗位 var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ]; var sum = 0; var ai = 0; var wi = 0; for (var i = 0; i < 17; i++) { ai = code[i]; wi = factor[i]; sum += ai * wi; } if(parity[sum % 11] != code[17].toUpperCase()){ row={ 'pass':false, 'msg':'身份證號校驗位錯誤' }; } } } return row; } IdCodeValid('xxx');
正則表示式:
出生日期1800-2099 (18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])
身份證正則表示式 /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/
位校驗規則 6位地址編碼+8位出生日期+3位順序號+1位校驗位
相關推薦
正則實現二代身份證號碼驗證詳解
最近專案需要對身份證進行比較合理的篩選,並不想用到第三方介面,所以寫了個方法: 包括支援身份證號合法性驗證, 支援18位身份證號,支援地址編碼、出生日期、校驗位驗證. 基本上這樣就可以了. IdCo
詳解正則表示式實現二代身份證號碼驗證
最近專案需要對身份證進行比較合理的篩選,並不想用到第三方介面,所以寫了個方法: 包括支援身份證號合法性驗證, 支援18位身份證號,支援地址編碼、出生日期、校驗位驗證. 基本上這樣就可以了. IdCodeValid:function(code){ //身份證號合法性驗證 //支援15位和18位
二代身份證號碼編碼規則說明
11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江", 31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東", 41:"河南",42:"湖北",43:"湖南",44:"廣
Android | 教你如何在安卓上實現二代身份證識別,一鍵實名認證
@目錄前言場景開發前準備android studio 安裝在專案級gradle裡新增華為maven倉在應用級的build.gradle裡面加上SDK依賴在AndroidManifest.xml檔案裡面增量新增模型自動下載在AndroidManifest.xml檔案裡面申請相機、訪問網路和儲存許可權程式碼開發關
notepad++正則表達式替換字符串詳解
替換 提示 是否 解決 彈出 ability 保持 iat 能力 表達式 說明\t 制表符.\n 新行.. 匹配任意字符.| 匹配表達式左邊和右邊的字符. 例如, “ab|bc” 匹配 “ab” 或者 “bc”.[] 匹配列表之中的任何單個字符. 例如, “[ab]” 匹配
jmeter 正則表示式學習(一)--使用詳解
jmeter自帶後置處理器:正則表示式提取器,可以用來提取介面響應裡的資訊,給予後續介面傳參用。 例如要提取響應結果裡的token欄位及sex欄位(響應內容為: "token":"83EEAA887F1D2F1AA1CDA9E197810992","sex":0
Python 正則re模組之compile()和findall()詳解
首先我們看下官方文件裡關於的compile的說明: re.compile(pattern, flags=0) Compile a regular expression pattern into a regular expression object, which can
15/18位身份證號碼驗證的正則表達式總結(詳細版)
校驗碼 輸入 詳細 wid width adding 方式 http 效率 前言 開發過程中,常常需要對一些輸入信息進行有效性驗證,使用正則表達式進行校驗是最簡單、效率最高的方式了,下面就來看看15/18位身份證號碼驗證的正則表達式吧。 介紹 xxxxxx yyyy MM
身份證號碼的正則表達式及驗證詳解(JavaScript,Regex)
新疆 選擇 ade 理學 澳門 如果 span card div 簡言 在做用戶實名驗證時,常會用到身份證號碼的正則表達式及校驗方案。本文列舉了兩種驗證方案,大家可以根據自己的項目實際情況,選擇適合的方案。 身份證號碼說明 居民身份證號碼,正確、正式的稱謂應該是“公民身份
正則表示式-身份證號碼驗證
身份證號碼驗證 1.第一代身份證15位: /^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$/ 例: if (sfzhmcode.length == 15 &&
php不用正則驗證真假身份證 身份證號碼驗證
<?php $IDCard = new IDCard(); var_dump($IDCard::isCard($_GET['card'])); /** * 身份證處理類 */ class IDCard { //檢證身份證是否正確
Java實現身份證號碼驗證源碼分享
分隔 toc bst nbsp port birt random exti 一位數 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar;
正則表達式匹配身份證 電話號碼 郵箱 住宅電話 郵編等
ext 大寫字母 nsh 辦理 regexp nbsp 新的 pat 中文 # -*- coding: utf-8 -*- import re tt1 = "13143567781" tt2=‘[email protected]‘ tt3=‘4110241945111
python正則表示式 簡單的手機號碼格式的驗證
import re #手機號的匹配 phone = re.compile('^(13(7|8|9|6|5|4)|17(0|8|3|7)|18(2|3|6|7|9)|15(3|5|6|7|8|9))\d{8}$') num = input('請輸入手機號:') if re.match(phone
Android實現身份證號碼驗證
話不多說,直接上程式碼,因為與需求不符,略微修改了程式碼public class IDCardValidate { public static final String[] ValCodeArr = { "1", "0", "X", "9", "8", "7", "6
jQuery正則:電話、身份證、郵箱簡單校驗
toast title 常用 輸入數據 存在 pan test mail col if (!(/^1[3,5,6,7,8,9]\d{9}$/).test(e.detail.value.data_phone)) { wx.showToast({
shell正則表達二
shell正則表達式 二 shell正則表達 二部分一、printf命令:1. 格式化輸出。(print format)2. 命令格式:printf‘打印格式‘實際內容1. 打印格式:1) \a(警告聲音輸出)1) \b(退格鍵)1) \n(輸出新的一行)1) \r(幀處於行的開始,即enter鍵)\t(
利用正則實現彩色控制臺輸出
返回 otto get onos soft turn nowrap itl 背景 近期忙了一陣less的二次開發的工作,期間遇到了不少須要向控制臺輸出彩色文字的需求。翻了下曾經同事的代碼,發現要麽自己拼轉義字符串,要麽使用一些不太好用的第三方庫。總之都不是非常合
基於正則和叠代模式的計算器源碼
pre 默認參數 utf-8 nco 退出 spl pan ner imp 源碼如下: 1 # encoding:utf-8 2 # Author:"richie" 3 # Date:2017/8/8 4 import re 5 # 待處理數據 6 s =
編程樂趣:身份證號碼驗證的方法
adl substring track content else if ont article name out 隨著如今互聯網的發展,越來越多的註冊用戶的地方都用到了身份證。那麽對於輸入的身份證怎樣驗證呢?看以下的代碼,事實上非常easy。主要註意的是,眼下的身份證分