首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>Javascript教程>资讯:大陆居民身份证真伪校验

大陆居民身份证真伪校验

www.jz123.cn  2013-12-06   来源:   站长家园    责任编辑(袁袁)    我要投递新闻

var IdCardValid = {//身份证检查isIdCard : function(_id) {var returnObj = new Object();var id = $.trim(_id.toUpperCase());var idArray = this._splitId(id);if (idArray.length > 0) ...
001.var IdCardValid = {//身份证检查
002. isIdCard : function(_id) {
003. var returnObj = new Object();
004. var id = $.trim(_id.toUpperCase());
005. var idArray = this._splitId(id);
006.
007. if (idArray.length > 0) {
008. if (id.length != 18) {
009. returnObj.status = false;
010. returnObj.info = " 身份证号码必须是18位";
011.
012. return returnObj;
013. }
014.
015. var checksum = id.substring(17, 18);
016. var sum = 0;
017.
018. for ( var i = 1; i <= idArray.length; i++) {
019. var Ai = idArray[i - 1];
020. var Wi = this._getWeightingFactor(i);
021.
022. if (Wi != -1) {
023. sum += Ai * Wi;
024. }
025. }
026.
027. var mod = sum % 11;
028.
029. if (this._getChecksum(mod) == checksum) {
030. returnObj.status = true;
031.
032. return returnObj;
033. } else {
034. returnObj.status = false;
035. returnObj.info = " 身份证号码输入错误";
036.
037. return returnObj;
038. }
039. } else {
040. returnObj.status = false;
041. returnObj.info = " 身份证号码格式错误";
042.
043. return returnObj;
044. }
045. },
046.
047. _splitId : function(_id) {
048. var len = _id.length;
049. var array = new Array();
050.
051. for ( var i = 0; i < len - 1; i++) {
052. array.push(_id.charAt(i));
053. }
054.
055. return array;
056. },
057.
058. _getWeightingFactor : function(_index) {
059. switch (_index) {
060. case 1:
061. return 7;
062. case 2:
063. return 9;
064. case 3:
065. return 10;
066. case 4:
067. return 5;
068. case 5:
069. return 8;
070. case 6:
071. return 4;
072. case 7:
073. return 2;
074. case 8:
075. return 1;
076. case 9:
077. return 6;
078. case 10:
079. return 3;
080. case 11:
081. return 7;
082. case 12:
083. return 9;
084. case 13:
085. return 10;
086. case 14:
087. return 5;
088. case 15:
089. return 8;
090. case 16:
091. return 4;
092. case 17:
093. return 2;
094. default:
095. return -1;
096. }
097. },
098. _getChecksum : function(_mod) {
099. switch (_mod) {
100. case 0:
101. return 1;
102. case 1:
103. return 0;
104. case 2:
105. return "X";
106. case 3:
107. return 9;
108. case 4:
109. return 8;
110. case 5:
111. return 7;
112. case 6:
113. return 6;
114. case 7:
115. return 5;
116. case 8:
117. return 4;
118. case 9:
119. return 3;
120. case 10:
121. return 2;
122. default:
123. return -1;
124. }
125. }
126.};


上一篇:Javascript取随机颜色函数 下一篇:JavaScript的作用域与闭包

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图