<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" type="text/css" href="" />
<style type="text/css"></style>
<script type="text/javascript">
function checkCardId(socialNo){ if(socialNo == "")
{
alert("输入身份证号码不能为空!");
return (false);
} if (socialNo.length != 15 && socialNo.length != 18)
{
alert("输入身份证号码格式不正确!");
return (false);
} var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}; if(area[parseInt(socialNo.substr(0,2))]==null) {
alert("身份证号码不正确(地区非法)!");
return (false);
} if (socialNo.length == 15)
{
pattern= /^\d{15}$/;
if (pattern.exec(socialNo)==null){
alert("15位身份证号码必须为数字!");
return (false);
}
var birth = parseInt("19" + socialNo.substr(6,2));
var month = socialNo.substr(8,2);
var day = parseInt(socialNo.substr(10,2));
switch(month) {
case '01':
case '03':
case '05':
case '07':
case '08':
case '10':
case '12':
if(day>31) {
alert('输入身份证号码不格式正确!');
return false;
}
break;
case '04':
case '06':
case '09':
case '11':
if(day>30) {
alert('输入身份证号码不格式正确!');
return false;
}
break;
case '02':
if((birth % 4 == 0 && birth % 100 != 0) || birth % 400 == 0) {
if(day>29) {
alert('输入身份证号码不格式正确!');
return false;
}
} else {
if(day>28) {
alert('输入身份证号码不格式正确!');
return false;
}
}
break;
default:
alert('输入身份证号码不格式正确!');
return false;
}
var nowYear = new Date().getYear();
if(nowYear - parseInt(birth)<15 || nowYear - parseInt(birth)>100) {
alert('输入身份证号码不格式正确!');
return false;
}
return (true);
} var Wi = new Array(
7,9,10,5,8,4,2,1,6,
3,7,9,10,5,8,4,2,1
);
var lSum = 0;
var nNum = 0;
var nCheckSum = 0; for (i = 0; i < 17; ++i)
{ if ( socialNo.charAt(i) < '0' || socialNo.charAt(i) > '9' )
{
alert("输入身份证号码格式不正确!");
return (false);
}
else
{
nNum = socialNo.charAt(i) - '0';
}
lSum += nNum * Wi[i];
} if( socialNo.charAt(17) == 'X' || socialNo.charAt(17) == 'x')
{
lSum += 10*Wi[17];
}
else if ( socialNo.charAt(17) < '0' || socialNo.charAt(17) > '9' )
{
alert("输入身份证号码格式不正确!");
return (false);
}
else
{
lSum += ( socialNo.charAt(17) - '0' ) * Wi[17];
}
if ( (lSum % 11) == 1 )
{
return true;
}
else
{
alert("输入身份证号码格式不正确!");
return (false);
} } </script>
</head>
<body> </body>
</html>

身份证验证合法性js--已验证的更多相关文章

  1. Centos6.4编译安装Node.js(已验证)

    1.准备源文件包 [felix@MyTerminal Downloads]$ mv node-6.5.0 node [felix@MyTerminal Downloads]$ ls node node ...

  2. js正则表达式验证字符长度

    原理,就是把一个汉字替换为两个字母,来实现长度验证. //js正则验证字符长度 第一种:直接输出长度 alert('1sS#符'.replace(/[^\x00-\xff]/g, 'AA').leng ...

  3. Java中校验身份证号合法性(真伪),获取出生日期、年龄、性别、籍贯

    开发过程中有用的身份证号的业务场景,那么校验身份证的合法性就很重要了,另外还有通过身份证获取出生日期.年龄.性别.籍贯等信息, 下面是本人在开发中用到的关于校验身份证真伪的工具类,可以直接拿来使用,非 ...

  4. JS验证身份证的合法性

    //验证身份证的合法性 function IdentityCodeValid(code) { var city={11:"北京",12:"天津",13:&quo ...

  5. Js完美验证15/18身份证,Js验证身份证,支持15/18位

    Js完美验证15/18身份证,Js验证身份证,支持15/18位 >>>>>>>>>>>>>>>>> ...

  6. js 精确验证身份证(地址编码、出生日期、校验位验证)

    //身份证号合法性验证 //支持15位和18位身份证号 //支持地址编码.出生日期.校验位验证 function IdentityCodeValid(code) { ::::::::::::::::: ...

  7. JS常见的表单验证,H5自带的验证和正则表达式的验证

    H5验证 自带的验证无法满足需求: <form action="" method="get"> name:<input type=" ...

  8. verify.js使用验证插件使用

    github:https://github.com/52fhy/verify.js 首先引入js,最好拷贝verify整个目录,因为里面有图标. <script src="verify ...

  9. ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证

    ASP.NET开发中主要的字符验证方法-JS验证.正则表达式.验证控件.后台验证 2012年03月19日 星期一 下午 8:53 在ASP.NET开发中主要的验证方法收藏 <1>使用JS验 ...

  10. js正则表达式验证大全

    /判断输入内容是否为空    function IsNull(){        var str = document.getElementById('str').value.trim();      ...

随机推荐

  1. redis系列-redis的连接

    Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list ...

  2. eclipse启动不了

    因为eclipse运行变得非常慢,我想再次增加一下eclipse的最大内存,以期待使eclipse能够快速的响应. 参照某些资料,我也不知道什么时候改成了这样: -vmargs-Xms512m-Xmx ...

  3. iOS给图片添加滤镜&使用openGLES动态渲染图片

    给图片增加滤镜有这两种方式: CoreImage / openGLES 下面先说明如何使用CoreImage给图片添加滤镜, 主要为以下步骤: #1.导入CIImage格式的原始图片 #2.创建CIF ...

  4. 锋利的JQuery —— DOM操作

    图片猛戳链接

  5. lua的私有性(privacy)

    很多人认为私有性是面向对象语言的应有的一部分.每个对象的状态应该是这个对象自己的事情.在一些面向对象的语言中,比如C++和Java你可以控制对象成员变量或者成员方法是否私有.其他一些语言比如Small ...

  6. Atititcmd cli环境变量的调用设置与使用

    Atititcmd cli环境变量的调用设置与使用 1.1. Cgi 环境变量的调用设置与使用1 1.2. 环境变量vs  系统变量1 1.3. 环境变量的分类 A.与服务器相关的环境变量B ,与客户 ...

  7. angular测试-Karma + Jasmine配置

    首先讲一下大致的流程: 需要node环境,首先先要安装node,node不会?请自行搜索.版本>0.8 安装node完成之后先要测试下npm是否测试通过,如下图所示 首先看下目录结构 目录为:F ...

  8. c#将list集合转换为datatable的简单办法

    public static class ExtensionMethods        {        /// <summary>        /// 将List转换成DataTabl ...

  9. Codeforces Round #277(Div. 2) (A Calculating Function, B OR in Matrix, C Palindrome Transformation)

    #include<iostream> #include<cstring> #include<cstdio> /* 题意:计算f(n) = -1 + 2 -3 +4. ...

  10. nodejs图片转换字节保存

    fs.readFile('上传图片路径', function(err, data) { if (err) { // 错误处理 return; } var base64str = new Buffer( ...