精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>ASP教程>正文

ASP身份证号码验证函数


来源:我要学习网 时间:06-11-12 点击: 点击这里收藏本文
╔----------------------------------------╗
┆  来自:http://www.jzxue.com           ┆
┆  整理:阿炳                            ┆
┆  投稿:(转贴)                        ┆
╚----------------------------------------╝

 function checkIDCard(s, d, g) 

if (!s) return false; 
d = new Date(d); 
if (!d.getTime()) return false; 

var t, r; 

t = "" + d.getFullYear() + dblNum(d.getMonth() + 1) + dblNum(d.getDate()); 

if (g == null || isNaN(g)) return false; 
g = parseInt(g) % 2; 

switch (s.length) 

case 8 : 
if (new Date() > d.setFullYear(d.getFullYear() + 19)) return false; 
r = /^[\d]{8}$/; 
if (!r.test(s)) return false; 
if (s != t) return false; 

break; 
case 15 : 
r = /^[\d]{15}$/; 
if (!r.test(s)) return false; 
if (s.substr(6, 6) != t.substr(2)) return false; 
if (parseInt(s.charAt(14)) % 2 != g) return false; 

break; 
case 18 : 
r = /^(?:[\d]{18}|[\d]{17}X)$/i; 
if (!r.test(s)) return false; 
if (s.substr(6, 8) != t) return false; 
if (parseInt(s.charAt(16)) % 2 != g) return false; 

var n = 0; 
var w = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); // 加权因子 
var c = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"); // 校验码 

for (var i = 0; i < 17; i++) 

n += parseInt(s.charAt(i)) * w[i]; 


if (s.charAt(17).toUpperCase() != c[n % 11]) return false; 

break; 
default : 
return false; 


return true; 


function dblNum(n) 

return parseInt(n) < 10 ? "0" + n : n; 


//var sss = "422324860305482"; 
//Response.Write(checkIDCard(sss, "03/05/1986", 0)); 

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.