高手来指点下不足交流下...顺便散分混个眼熟

超维电脑科技 2010-05-14 07:36:54
/*
函数名:chk_IDAndDate(id,nian,yue,ri)
参数:id(身份证),nian(年),yue(月),ri(日)
作用:验证身份证中的出生年月和出生日期是否一样
作者:王朝忠
日期:2010-5-14
*/
function chk_IDAndDate(id,nian,yue,ri)
{
var patrn=/^[0-9]+$/;
var patrn_18=/^[0-9Xx]+$/;
var id_value=id.value;
var nian_value=nian.value;
var yue_value=yue.value;
var ri_value=ri.value;
if (id_value != "" && nian_value != "" && yue_value != "" && ri_value !="")
{

if(id_value.length == 15)
{
if (patrn.exec(id_value))
{
nian_value = nian_value.substring(nian_value.length-2,nian_value.length);
id_nian = id_value.substring(6,8)
id_yue = id_value.substring(8,10)
id_ri = id_value.substring(10,12)
if (parseInt(nian_value) != parseInt(id_nian) || parseInt(yue_value) != parseInt(id_yue) || parseInt(id_ri) != parseInt(ri_value))
{
alert("您输入的身份证日期与出生日期不符,请重新确认!");
id.select();
return false;
}
}
else
{
alert("您输入的身份证有误,请重新确认!");
id.focus();
id.select();
return false;
}
}
else if(id_value.length == 18)
{
if (patrn_18.exec(id_value))
{
id_nian = id_value.substring(6,10)
id_yue = id_value.substring(10,12)
id_ri = id_value.substring(12,14)
if (parseInt(nian_value) != parseInt(id_nian) || parseInt(yue_value) != parseInt(id_yue) || parseInt(id_ri) != parseInt(ri_value))
{
alert("您输入的身份证日期与出生日期不符,请重新确认!");
id.select();
return false;
}
}
else
{
alert("您输入的身份证有误,请重新确认!");
id.focus();
id.select();
return false;
}
}
else
{
alert("您输入的身份证有误,请重新确认!");
id.focus();
id.select();
return false;
}
}
else if(id_value!="")
{
if (id_value.length == 15)
{
if (!patrn.exec(id_value))
{
alert("您输入的身份证有误,请重新确认!");
id.focus();
id.select();
return false;
}
}
else if (id_value.length == 18)
{
if (!patrn_18.exec(id_value))
{
alert("您输入的身份证有误,请重新确认!");
id.focus();
id.select();
return false;
}
}
else
{
alert("您输入的身份证有误,请重新确认!");
id.focus();
id.select();
return false;
}

}
}
...全文
148 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
dahaidao 2010-05-15
  • 打赏
  • 举报
回复
确实挺早的,一会就看.
huyouhula 2010-05-15
  • 打赏
  • 举报
回复
太晚了,留下印记,明天看看
InsistOnDoing 2010-05-15
  • 打赏
  • 举报
回复
接分。
写的太复杂了。
函数的功能快太大了,参数分配不太合理。
超维电脑科技 2010-05-15
  • 打赏
  • 举报
回复
不好意思中午忙到现在现在结贴.
超维电脑科技 2010-05-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 daxuejianku 的回复:]
[/Quote]
学习了谢谢
下班前结后贴
handanapple 2010-05-15
  • 打赏
  • 举报
回复
不错,帮顶
swweb 2010-05-15
  • 打赏
  • 举报
回复
JF~~~~~~~~~~~~~~~~~
xiaofan_sap 2010-05-15
  • 打赏
  • 举报
回复
学习 顺便jf~~
a296694166 2010-05-15
  • 打赏
  • 举报
回复
学习了!!!!!!!!!!!!!
zhanmingbo 2010-05-15
  • 打赏
  • 举报
回复
接分,
什么时候我的分多了,我也散一下
hookee 2010-05-14
  • 打赏
  • 举报
回复
~~~~~~~~jF
passself 2010-05-14
  • 打赏
  • 举报
回复
不错楼主
挨踢直男 2010-05-14
  • 打赏
  • 举报
回复
jf-------楼主要说明什么问题
北京不不 2010-05-14
  • 打赏
  • 举报
回复
可以精简的。首先你的明白身份证得构成
1、第l一6位数为行政区划代码;
2、第7—12位数为出生日期代码;
3、第13---15位数为分配顺序代码;

取身份证的7—12位数。假设取到为ID
ID.indexOf(nian+yue+ri)!=-1
//nian yue ri 为string
再根据特殊情况处理下。
stayalive 2010-05-14
  • 打赏
  • 举报
回复
接分,谢谢!

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧