复制代码 代码如下:
//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>
标签:
身份证,15位,18位

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“js身份证判断方法支持15位和18位”

暂无“js身份证判断方法支持15位和18位”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。