1. 程式人生 > >身份證號碼正則表示式 阿星小棧

身份證號碼正則表示式 阿星小棧

var aCity = {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:"國外"}

function isCardID(sId){
   var iSum = 0;
   var info = "";
   if(!/^\d{17}(\d|x)$/i.test(sId)){
       return "你輸入的身份證長度或格式錯誤";
   }
   sId = sId.replace(/x$/i,"a");
   if(aCity[parseInt(sId.substr(0,2))]==null){
      return "你的身份證地區非法";
   }
   sBirthday = sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
   var d = new Date(sBirthday.replace(/-/g,"/"));
   if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate())){
      return "身份證上的出生日期非法";
   }
   for(var i = 17;i>=0;i --){
      iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
   }
   if(iSum%11!=1){
      return "你輸入的身份證號非法";
   }
 //aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女");//此次還可以判斷出輸入的身份證號的人性別
   return true;
}

原文:https://www.93jc.cn/article/61.html

相關推薦

身份證號碼表示式

  var aCity = {11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南

身份證號碼表示式

var aCity = {11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",4

15/18位身份證號碼表示式(詳細版)

xxxxxx yyyy MM dd 375 0     十八位 xxxxxx    yy MM dd   75 0     十五位 地區:[1-9]\d{5} 年的前兩位:(18|19|([23]\

手機號,密碼,身份證號碼表達式

style 手機 a-z 並且 color 則表達式 col 身份證號碼 長度 var myreg = /^1[0-9]{10}$/;//判斷是否為手機號碼 var mypwd = /^[0-9A-Za-z]{6,}$/;//密碼長度不少於6位,並且由數字和字符組成 va

2018年最新電話號碼表示式校驗方法

正則表示式 ^1(3[0-9]|4[57]|5[^4]|6[6]|7[0-8]|8[0-9]|9[8-9])\\d{8}$ iOS使用方法 + (BOOL)checkPhoneNumber:(NSString *)phoneNumber{ /* ** 電訊號

java手機號碼表示式

/** 驗證手機號碼: 移動號碼段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147 聯通號碼段:130、131、132、136、185、186、145 電訊號碼段:133、153、180、1

最新手機號碼、電話號碼表示式

補充: 正則表示式--驗證手機號碼:13[0-9]{9}  實現手機號前帶86或是+86的情況:^((\+86)|(86))?(13)\d{9}$  電話號碼與手機號碼同時驗證:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9}) &nb

Android身份證號碼

/** * 身份證號碼驗證 */ public static boolean isIdNO(Context context, String num) { // 去掉所有空格 num

表示式中的括號用法

正則表示式中的小括號用法 小括號中的連續字元作為可選: “Nov” -match “\bNov(ember)?\b” 返回true “November” -match “\bNov(ember)?\b” 返回true 正則表示式中的小括號的作用是對字元進行分組,並儲存匹配的文

JAVA表示式的一些示例--郵箱驗證

public static void main(String[] args) {     // 要驗證的字串     String str = "[email protected]";     //

手機號碼表示式

JS驗證電話號碼電話號碼已不是以前那麼固定,號碼不斷升級。故做出最簡的最實用的號碼驗證1、在電話號碼裡只允許出現"0-9"、 "-"、 "+"var cellphone=/^([/d-+]*)$/;if(!cellphone.test(form1.messagePhone.v

國內外手機號碼表示式(收藏)

附上語言(文化)程式碼與國家地區對照表: 國家/地區 語言程式碼 國家/地區 語言程式碼 簡體中文(中國) zh-cn 繁體中文(臺灣地區) zh-tw 繁體中文(香港) zh-hk 英語(香港) en-hk 英語(美國)

pyhon表示式(python白筆記九)

#正則表示式,描述字串排列的一套規則 原子,是正則表示式中最基本的組成單位。 (1)普通字元作為原子(“yue”有三個原子,y u e) (2)非列印字元作為原子 (3)通用字元作為原子 (4)原子表

郵箱和手機號碼表示式驗證(手機號碼支援188)-HTML-XHTML-CSS

var Email=document.getElementById("inputEmail"); var reEmail=/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/;   //郵箱檢測 var b_email=reEmail

mysql 身份證明號碼 表示式

匹配15和18位 select * from sfzmhm_table where sfzmhm regexp '^[1-9][[:digit:]]{7}((0[[:digit:]])|(1[0-2]

UltraEdit表示式搜尋替換技巧

由於需要,要將Admodfy匯出來的ldf檔案內容做修改,樣例如下 dn: CN=蔡妮,OU=AD Import OU,DC=myDomain,DC=com,DC=cnchangetype: addobjectClass: contactcn: 蔡妮sn: 蔡妮mailN

2018手機號碼表示式

查了資料,寫的正則,部分直接通過了/** * 手機號格式驗證 非空 & 純數字 & 11位 * https://www.chahaoba.com/%E7%94%B5%E4%BF%A1%E5%8F%B7%E6%AE%B5 2018最新號段 */ fin

php 銀行卡號 手機號碼 表示式格式化 每4位隔空格顯示

轉自:http://blog.csdn.net/yuhao818/article/details/44034989 $str = '6228480402564890018'; preg_match('/([\d]{4})([\d]{4})([\d]{4})([\d]{4}

js最新手機號碼、電話號碼表示式

正則表示式(regular expression)是一個描述字元模式的物件。使用正則表示式可以進行強大的模式匹配和文字檢索與替換功能。 手機號碼正則表示式驗證。 function checkPhone(){ var phone = document.getElementById('phone

身份證驗證表示式

var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍 江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山