jquery 校驗中國身份證號碼實例詳解
jquery 校驗中國身份證號碼實例詳解
大陸18位身份證(第二代身份證)
身份號碼是一組具有特征組合碼,由十七位數(shù)字本體碼和一位校驗碼組成。
排列順序從左至右依次為:六位數(shù)字地區(qū)碼,八位數(shù)字生日碼,三位數(shù)字順序碼和一位數(shù)字校驗碼。
校驗方法:
(1)先對前17位數(shù)字的權(quán)求和
S = Sum(Ci * Vi), i = 0, ... , 16
Ci:表示身份證號碼上第i位置的數(shù)字值
Vi:表示第i位置上的“加權(quán)因子”
加權(quán)因子Vi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2)計算模(固定算法)
Y = mod(S, 11)
(3)將計算模Y與對應的校驗碼校驗
Y: 0 1 2 3 4 5 6 7 8 9 10 (通過Y取得對應校驗碼與身份證的第18位校驗)
校驗碼: 1 0 X 9 8 7 6 5 4 3 2
實例代碼:
function check_id(value){ var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加權(quán)因子 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.length - 1; i++){ // 對前17位數(shù)字與權(quán)值乘積求和 sum += parseInt(value.substr(i, 1), 10) * arrExp[i]; } // 計算模(固定算法) idx = sum % 11; // 檢驗第18為是否與校驗碼相等 return arrValid[idx] == value.substr(17, 1).toUpperCase(); }else{ return false; } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
jquery validate 實現(xiàn)動態(tài)增加/刪除驗證規(guī)則操作示例
這篇文章主要介紹了jquery validate 實現(xiàn)動態(tài)增加/刪除驗證規(guī)則操作,結(jié)合實例形式分析了jQuery validate表單驗證相關(guān)操作技巧,需要的朋友可以參考下2019-10-10基于jQuery的AJAX和JSON實現(xiàn)純html數(shù)據(jù)模板
jQuery內(nèi)置的AJAX功能,直接訪問后臺獲得JSON格式的數(shù)據(jù),從而實現(xiàn)純html數(shù)據(jù)模板,下面主要給大家介紹實現(xiàn)代碼,感興趣的朋友一起看下吧2016-08-08jQuery學習筆記之 Ajax操作篇(一) - 數(shù)據(jù)加載
Ajax 通俗來講即不需要刷新頁面即可從服務器或客戶端上加載數(shù)據(jù),當然這些數(shù)據(jù)的格式是多種多樣的。2014-06-06jQuery Mobile和HTML5開發(fā)App推廣注冊頁
jQuery Mobile和HTML5的組合可以直接開發(fā)web版的app,下面通過本教程給大家分享jQuery Mobile和HTML5開發(fā)App推廣注冊頁的實例代碼,感興趣的朋友參考下吧2016-11-11jQuery+Ajax+PHP彈出層異步登錄效果(附源碼下載)
本文我們給大家介紹如何使用jQuery+Ajax+PHP彈出層異步登錄的應用。感興趣的朋友通過本文學習吧2016-05-05關(guān)于jQuery對象數(shù)據(jù)緩存Cache原理以及jQuery.data詳解
網(wǎng)上有很多教你怎么使用jQuery.data(..)來實現(xiàn)數(shù)據(jù)緩存,但有兩個用戶經(jīng)常使用的data([key],[value])和jQuery.data(element,[key],[value])幾乎沒有什么文章說清楚它們兩的區(qū)別,所以我用到了,研究下分享給大家。2013-04-04基于Jquery的回車成tab焦點切換效果代碼(Enter To Tab )
基于Jquery的回車成tab焦點切換效果代碼(Enter To Tab ),需要的朋友可以參考下。2010-11-11