<html>
<head><title>身份证男女验证</title></head>
<body>
<div>
输入身份证号判定男女:<input id="Num" type="text" style="width:130">
<input type="button" value=" 确定 " onclick="searchBegin()">
<br>
输入15位号:<input id="Num15" type="text" style="width:130" value="412723850626811">
<input type="button" value=" 转化 " onclick="numChange()">
转化为18位号:<input id="Num18" type="text" style="width:130" value="412723198506268117">
</div>
<script language="JavaScript">
/**
*Statement: 调用相应的函数,检测输入的身份证号,并给出错误提示
*/
function searchBegin(){
var myNum=document.getElementById("Num");
var myStr=myNum.value;
if(!checkNum(myStr)){
alert("对不起,您输入的身份证号码有误!");
return;
}
if(genderJudge(myStr)){alert("该身份证号户主为男性!");}
else
{alert("该身份证号户主为女性!");}
}
/**
*Statement: 用正则表达式检测输入的身份证号格式是否正确。如果位18位号并判别校验码
*param: num 要检测的身份证号
*return 返回true代表号码格式正确 false错误 // ____ 待定
*/
function checkNum(num){
var myNum=num+""; //将myNum转化为String,方便正则匹配
var tag=false; //返回tag=1代表长度错误,tag=2代表格式错误,tag=0代表身份证号输入正确
if(myNum.match(/^(:\d{15}|\d{18}|\d{17}X)$/))tag=true;
if(myNum.length==18){ //检测校验位
var num17=myNum.substring(0,18);
if(myNum.charAt(17)!=lastByte(myNum))tag=false;
}
return tag;
}
/**
*Statement: 输入身份证号,判别该户主性别是男或女?
*Param: num 身份证号
*return: 返回true代表男性,false代表女性
*/
function genderJudge(num){ //程序调用前必须确保身份证号的格式是正确的
var myNum=num+""; //接收传递的身份证号码
var ch;
var tag; //标志,true为男,false为女
if(myNum.length==15){
ch=myNum.charAt(14);
if(ch%2==1)tag=true; //15位号最后一位为奇数是男士
}
else {
ch=myNum.charAt(16);
if(ch%2==1)tag=true; //18位号第17位为奇数是男士
}
return tag;
}
/**
*Statement: 将15位身份证号转变为18位
*Param: num 原有的身份证号
*return String 转化后的身份证号
*/
function numChange(){
var myNum=document.getElementById("Num15").value;
var result;
if(myNum.length==18)result=myNum;
else { //如果为15位
//15位号转18位号在第6-7位之间插入两个数字 “19”
var forth17Num=myNum.substring(0,6)+"19"+myNum.substring(6,15);
}
var ch=lastByte(forth17Num);
result=forth17Num+ch;
document.getElementById("Num18").value=result;
return result;
}
/**
*Statement: 用身份证的前17位计算出最后一位验证码
*param num 身份证前17位
*return char 计算得出的一位校验码
*/
function lastByte(num){
var myNum=num;
var lastNumber;
var getNum=eval(myNum.charAt(0)*7+myNum.charAt(1)*9+myNum.charAt(2)*10+myNum.charAt(3)*5+myNum.charAt(4)*8+myNum.charAt(5)*4+myNum.charAt(6)*2+myNum.charAt(7)*1+myNum.charAt(8)*6+myNum.charAt(9)*3+myNum.charAt(10)*7+myNum.charAt(11)*9+myNum.charAt(12)*10+myNum.charAt(13)*5+myNum.charAt(14)*8+myNum.charAt(15)*4+myNum.charAt(16)*2);
getNum=getNum%11;
switch (getNum) {
case 0 : lastNumber="1"; break;
case 1 : lastNumber="0"; break;
case 2 : lastNumber="X"; break;
case 3 : lastNumber="9"; break;
case 4 : lastNumber="8"; break;
case 5 : lastNumber="7"; break;
case 6 : lastNumber="6"; break;
case 7 : lastNumber="5"; break;
case 8 : lastNumber="4"; break;
case 9 : lastNumber="3"; break;
case 10 : lastNumber="2"; break;
}
return lastNumber;
}
</script>
</body>
分享到:
相关推荐
JS验证身份证及获取地区功能示例 主要介绍了JS实现的验证身份证及获取地区功能,结合实例形式分析了JS字符串、数组及正则操作相关技巧,需要的朋友可以参考下
基于Matlab的身份证号码识别。识别流程为输入身份证图片进行字符区域的定位。去除干扰杂质。精准定位。利用积分投影的方法进行数字的切割。再利用模板匹配的方法进行识别。后续可以进行二次开发,识别出省份性别,...
主要介绍了PHP实现可精确验证身份证号码的工具类,涉及php针对字符串的截取、计算、判断等相关操作技巧,并附带说明了身份证号码的原理,需要的朋友可以参考下
查询验证模块则支持用户通过输入身份证号码或其他相关信息,快速检索并验证身份证信息的真实性和有效性。此外,系统还提供了数据导入导出功能,方便用户与其他系统进行数据交换和共享。 在系统设计上,我们注重用户...
主要介绍了JS实现的验证身份证及获取地区功能,结合实例形式分析了JS字符串、数组及正则操作相关技巧,需要的朋友可以参考下
管理员对教师信息管理进行获取工号、密码、教师姓名、教师性别、身份证号码、手机号码、邮箱、照片进行删除、修改以及查看等操作。程序效果图如下图5-3所示: 图5-3教师信息管理界面 5.2.3教学资源管理 管理员对...
数据库课程设计后端 使用Springboot + Mybatis + Redis + Maven ...订单信息(订单编号,用户电话号码,乘客身份证号码,列车编号,出发站编号,到达站编号,车厢号,座位编号,订单创建时间,订单状态,开车时间)
为了防止恶意挂号,医院对每个病人都采取实名登记,考虑到有病人同名的情况,因此还需要登记病人的身份证号码和手机号,一旦身份证号码或手机号已登记,则无法再次挂号。 二、 系统设计 该系统是面向对象编程的,...
可进行用户名及手机号码注册,注册后需进行实名认证,填写相关关键信息(如身份证号码、性别、出生年月)后方可进行听力检查预约。 ②个人中心模块。用户可对个人信息(如用户名、手机号码)进行修改。 ③预约挂号...
设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址、开户日期、销户日期等。 功能要求: 设计菜单实现功能选择; 能增加、修改和删除账户信息; 允许用户进行...
A:先输入航班 ID,然后输入姓名和身份证号码进行验证,验证成功则办理退票手续。然后查询该航班是否有人排队候补,如果有,而且票数够了,则首先询问排在第一的客户,是否需要订票,是则为他办理订票手续,否则出队...
(1)学生可以在系统中注册个人信息,并使用该信息在系统中参与投票,该系统应该提供正规的用户身份验证机制,如学号或身份证号码等,保证用户身份的准确性和安全性; (1)学生可以在系统中查询个人参与的投票信息...
身份证号码: 身份证号码: 为便于操作,集中管理,甲、乙双方经友好协商,就甲方委托乙方代为持股事宜达成协议如下,以兹共同遵照执行: 第一条 委托内容 1. 甲方自愿委托乙方作为自己对XXX公司(以下简称“XXX...
(1)学生可以在系统中注册个人信息,并使用该信息在系统中参与投票,该系统应该提供正规的用户身份验证机制,如学号或身份证号码等,保证用户身份的准确性和安全性; (2)学生可以在系统中查询个人参与的投票信息...
(1)学生可以在系统中注册个人信息,并使用该信息在系统中参与投票,该系统应该提供正规的用户身份验证机制,如学号或身份证号码等,保证用户身份的准确性和安全性; (2)学生可以在系统中查询个人参与的投票信息...
(1)学生可以在系统中注册个人信息,并使用该信息在系统中参与投票,该系统应该提供正规的用户身份验证机制,如学号或身份证号码等,保证用户身份的准确性和安全性; (2)学生可以在系统中查询个人参与的投票信息...
(1)出租车司机的基本信息,包括:姓名、性别、住址、驾驶证号码、身份证号码、驾龄、驾驶车型、车牌号码、出租公司等具体信息。 (2)出租车司机基本信息管理:录入、修改、删除、打印等。 (3)出租车司机基本信息的...
在日记信息页面通过填写日记编号、日记标题、日记内容、相关图片、审核回复等信息进行转载操作,如图5-4所示。 图5-3用户登录界面图 图5-4日记信息界面图 5.2管理员功能模块 管理员登录,通过填写注册时输入的...
(1)学生可以在系统中注册个人信息,并使用该信息在系统中参与投票,该系统应该提供正规的用户身份验证机制,如学号或身份证号码等,保证用户身份的准确性和安全性; (2)学生可以在系统中查询个人参与的投票信息...