js身份证判断方法支持15位和18位

 这篇文章主要介绍了js身份证判断方法支持15位和18位,需要的朋友可以参考下

代码如下:
//HTML页面上要有一个id为identity_card的input输入框,一个id为ipmessage的身份证错误或正确时提示消息的地方 
<script> 
//身份证验证 
$(document).ready(function(){ 
$("#identity_card").change(function(){ 
var idcard =$(this).val(); 
checkDate(idcard ); 
}); 
}); 
//身份证 
function checkDate( idcard ){ 
var socialNo = idcard; 
if(socialNo == "") 

$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert("输入身份证号码不能为空!"); 
return (false); 

if (socialNo.length != 15 && socialNo.length != 18) 

$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到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) { 
$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert("身份证号码不正确(地区非法)!"); 
return (false); 

if (socialNo.length == 15) 

pattern= /^d{15}$/; 
if (pattern.exec(socialNo)==null){ 
$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
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) { 
$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert('输入身份证号码不格式正确!'); 
return false; 

break; 
case '04': 
case '06': 
case '09': 
case '11': 
if(day>30) { 
$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert('输入身份证号码不格式正确!'); 
return false; 

break; 
case '02': 
if((birth % 4 == 0 && birth % 100 != 0) || birth % 400 == 0) { 
if(day>29) { 
$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert('输入身份证号码不格式正确!'); 
return false; 

} else { 
if(day>28) { 
$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert('输入身份证号码不格式正确!'); 
return false; 


break; 
default: 
$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert('输入身份证号码不格式正确!'); 
return false; 

var nowYear = new Date().getYear(); 
if(nowYear - parseInt(birth)<15 || nowYear - parseInt(birth)>100) { 
$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert('输入身份证号码不格式正确!'); 
return false; 

$('#ipmessage').html('通过!'); 
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' ) 

$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
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' ) 

$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert("输入身份证号码格式不正确!"); 
return (false); 

else 

lSum += ( socialNo.charAt(17) - '0' ) * Wi[17]; 

if ( (lSum % 11) == 1 ) 

$('#ipmessage').html('通过!'); 
return true; 

else 

$('#ipmessage').html('输入身份证号码格式不正确,必须是15位到18位的身份证号'); 
alert("输入身份证号码格式不正确!"); 
return (false); 


</script> 

时间: 2024-12-04 11:10:33

js身份证判断方法支持15位和18位的相关文章

js身份证判断方法支持15位和18位_javascript技巧

复制代码 代码如下: //HTML页面上要有一个id为identity_card的input输入框,一个id为ipmessage的身份证错误或正确时提示消息的地方 <script> //身份证验证 $(document).ready(function(){ $("#identity_card").change(function(){ var idcard =$(this).val(); checkDate(idcard ); }); }); //身份证 function c

15位和18位身份证JS校验的简单实例_javascript技巧

一.身份证号码的结构和表示形式 1.号码的结构 根据[中华人民共和国国家标准GB11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 2.地址码 表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行. 3.出生日期码 表示编码对象出生的年.月.日,按GB/T7408的规定执行,年.月.日代码之间不用分隔符. 4.顺序

javascript身份证检验正则表达式(支持15,18位及省份差别)

做这个其实不难,在网上多找一下总会有意外收获的.但是工欲善其事,必先利其器.我们需要了解一下身份证号的规则,知己知彼百战不殆. 身份证号有15位和18位长度两种,15位的时候,都是数字,但是18位长度的时候可能有校验位(X),所以只校验数字是不够的了. 另外身份证号可以看出一个人的年龄,出生所在地(身份证所在地?)等等,这些对我们来讲都是有用的数据.  代码如下 复制代码 <script type='text/javascript' src='card.js'></script>

做一个牛XX的身份证号验证类(支持15位和18位)

原文:做一个牛XX的身份证号验证类(支持15位和18位) #region 是否合法的中国身份证号码 protected bool IsChineseID() { if (str.Length == 15) str = CidUpdate(str); if (str.Length == 18) { string strResult = CheckCidInfo(str); if (strResult == "非法地区" || strResult == "非法生日" |

常用js字符串判断方法整理_javascript技巧

js工具-js常用方法,js常用判断方法 SUMMARY : 复制代码 代码如下: function obj$(id) 根据id得到对象 function val$(id) 根据id得到对象的值 function trim(str) 删除左边和右边空格 function ltrim(str) 删除左边空格 function rtrim (str) 删除右边空格 function isEmpty(str) 字串是否有值 function equals(str1, str2) js判断比较两字符串是

js 身份证号码验证-支持新的带x身份证

js 身份证号码验证-支持新的带x身份证 function isidcardno(sid){  var acity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江&qu

身份证号码15位升18位(C#)

  身份证号码15位升18位 身份证18位验证      18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999<公民身份号码>中做了明确的规定. GB11643-1999<公民身份号码>为GB11643-1989<社会保障号码>的修订版,其中指出将原标准名称"社会保障号码"更名为"公民身份号码",另外GB11643-1999<公民身份号码>从实施之日起代替GB11643-1989.GB

(高分求资源)居民身份证信息查询及18位校15位转18位类

问题描述 http://blog.csdn.net/lzmtw/article/details/515204几年前就这个博客的博主写过这个身份证类,在他的博客上我学到了很多知识,可是已经很久他没写博客,联系方式也找到了,好几次留过言,也没人回.算了,不多说废话了我特别特别需要上面博客上的类,可是下载地址早就失效了.真的很需要.如果有人当时下载过这个类的话,能给我发一份吗?我真的很需要,要么留一下博主的联系方式也行,希望好心人出现,谢谢有人有这个类,请你联系我,.qq:197040416Email

web设计-js如何判断方法参数是对象还是其他的

问题描述 js如何判断方法参数是对象还是其他的 <input id="mc" type="text" value="a"/> <input name="mc" type="text" value="b"/> <input name="mc" type="button" onclick="a("+mc