javascript 出生日期和身份证判断大全


Posted in Javascript onNovember 13, 2008

if(document.form1.csrq.value==""){
alert("请填写出生日期!");
document.form1.csrq.focus();
return false;
}
if(document.form1.csrq.value==""){
alert("请填写出生日期!");
document.form1.csrq.focus();
return false;
}else{
if(document.form1.csrq.value.length!=8){
alert("出生日期必须为8位!");
document.form1.csrq.focus();
return false;
}
if(document.form1.sfzh.value.length==18){
var sfzh =document.form1.sfzh.value;
if(document.form1.csrq.value!=sfzh.substring(6,14)){
alert("出生日期与身份证号不一致!");
document.form1.csrq.focus();
return false;
}
}
if(document.form1.sfzh.value.length==15){
var sfzh =document.form1.sfzh.value;
if(document.form1.csrq.value!='19'+sfzh.substring(6,12)){
alert("出生日期与身份证号不一致!");
document.form1.csrq.focus();
return false;
}
}
}
if(!isIdCardNo(document.form1.sfzh.value)){
document.form1.sfzh.focus();
return false;
}
function isNN(num){
var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //大写字母
badChar += "abcdefghijklmnopqrstuvwxyz"; //小写字母
badChar += "0123456789"; //数字
badChar += " "+" ";//半角与全角空格
badChar += "`~!@#$%^&()-_=+]\\|:;\"\\'<,>?/";//特殊符号
var c;
//for(var i=0;i<name.length;i++){//依次判断name中的字符
c=num.charAt(0);//取出num中的第1个字符
if(badChar.indexOf(c) != -1){ //如果当前字符在badChar中找到了匹配字符,说明它不是汉字
return false;
} else{
return true;
}
}
function isIdCardNo(num)
{
// if (isNaN(num)) {alert("输入的不是数字!"); return false;}
var len = num.length, re;
if (len == 15){
re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
}else if (len == 18){
re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
}else if (isNN(num)){
return true;
}else {
alert("如果是军官号请输入完整,例如:某军官证号为政字第123456号;如果是身份证号请检测您输入的位数,必须为15位或18位。");
return false;
}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (len == 18)
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}
}
return true;
}

Javascript 相关文章推荐
比较全的JS checkbox全选、取消全选、删除功能代码
Dec 19 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
Jun 19 Javascript
js 浏览器事件介绍
Mar 30 Javascript
Javascript中匿名函数的多种调用方式总结
Dec 06 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
Dec 18 Javascript
浅析JS动态创建元素【两种方法】
Apr 20 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
Jan 04 Javascript
js date 格式化
Feb 15 Javascript
Angularjs 与 bower安装和使用详解
May 11 Javascript
js+css实现红包雨效果
Jul 12 Javascript
微信小程序本地存储实现每日签到、连续签到功能
Oct 09 Javascript
夯基础之手撕javascript继承详解
Nov 09 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 #Javascript
刷新页面实现方式总结(HTML,ASP,JS)
Nov 13 #Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
Nov 13 #Javascript
javascript vvorld 在线加密破解方法
Nov 13 #Javascript
javascript css float属性的特殊写法
Nov 13 #Javascript
javascript 命名空间以提高代码重用性
Nov 13 #Javascript
JavaScript面向对象之体会[总结]
Nov 13 #Javascript
You might like
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
php实现微信支付之现金红包
2018/05/30 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
Windows下Anaconda的安装和简单使用方法
2018/01/04 Python
详解Python的三种可变参数
2019/05/08 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
自动化专业个人求职信范文
2013/12/30 职场文书
上学迟到的检讨书
2014/01/11 职场文书
出纳试用期自我评价
2015/03/10 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers