<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>
分享到:
相关推荐
这个压缩包文件“身份证号码相关的excel函数应用实例.zip”显然包含了关于如何利用Excel的内置函数来处理和分析身份证号码的实例。我们将深入探讨几个关键的Excel函数,它们在处理身份证号码时特别有用。 1. **LEFT...
根据给定的Linux shell脚本,我们可以深入探讨与身份证号码验证相关的知识点,特别是针对中国身份证号码的15位和18位格式的处理方法。以下是对脚本中关键部分的详细解析: ### Linux Shell编程验证身份证号码 ####...
本文将深入探讨如何使用JavaScript来验证身份证号码的有效性,并解析相关的验证算法。 首先,中国的身份证号码由18位数字组成,分为三个部分:6位地址码、8位出生日期码和最后4位顺序码与校验码。校验码是根据前17...
标题“身份证号码错位少位查询.rar”表明这是一个与身份证号码相关的软件压缩包,主要用于处理身份证号码可能存在的一些错误,如错位或缺失数字的情况。在实际应用中,身份证号码是公民的重要身份标识,用于各种官方...
在Excel中,根据身份证号码计算退休年龄并设置自动提醒是一项实用的数据处理技能。这涉及到Excel的函数应用、条件格式化以及对身份证号码的理解。以下将详细介绍这个过程。 首先,身份证号码中的出生日期信息隐藏在...
在中国,身份证号码是一种独特且重要的个人身份标识符,它包含了持证人的性别、出生日期以及籍贯等个人信息。本文将详细解析如何从身份证号码中提取这些关键信息。 首先,身份证号码分为18位,每部分都有特定含义。...
在Android平台上,开发一个能够快速识别身份证号码的应用是一项技术挑战,但通过现代计算机视觉和OCR(光学字符识别)技术,这一任务已经变得相对容易。"Android 识别身份证号码.rar"这个压缩包可能包含了一个名为...
本文将深入探讨使用易语言开发的身份证号码归属地查询系统的实现原理、功能特点以及相关技术要点。 一、系统概述 易语言是一款以“易”为设计理念的编程工具,它以其直观的图形化界面和简洁的语法规则,降低了编程...
因此,在使用身份证号码进行各类操作时,必须加强安全意识,保护好自己的个人信息。 总之,身份证号码归属地查询是一项基于身份证号码前六位数字的功能,它不仅反映了中国的行政区划特点,也在实际生活中发挥着重要...
在提供的压缩包中,"身份证号码转化(Swing、JDBC、异常)原创"可能包含了身份证号码转化的详细文档,列出了具体的转化算法和步骤,以及相关的SQL语句,比如创建用户表、插入或查询身份证信息。关键代码部分可能展示...
总之,处理身份证号码不一致的问题,关键在于获取有效的身份证号码变更证明,并及时更新所有相关记录。在遇到此类问题时,应保持冷静,按照规定流程操作,确保个人身份信息的一致性和合法性,以免在未来遇到不必要的...
OCR技术可以将身份证上的字母、数字等字符转化为电子文本,然后通过对转化后的文本进行解析和验证来获取身份证号码的相关信息。 身份证号码识别在许多实际应用中具有重要的意义,例如银行开户、实名认证、人脸识别...
QT+OpenCV+OCR 身份证号码与银行卡号识别技术是计算机视觉领域的一个重要应用,主要用于自动识别图像中的文字信息。在这个特定的项目中,我们看到一个利用QT图形界面库,OpenCV图像处理库,以及OCR(Optical ...
因为身份证号码通常有固定的格式(18位数字),所以可以通过正则表达式筛选出匹配的字符串: ```csharp using System.Text.RegularExpressions; string idNumberRegex = @"^\d{18}$"; Match match = Regex.Match...
公民身份证号码是每个...以上就是关于公民身份证号码变更证明的相关知识,包括变更原因、申请流程、法律依据、身份证号码结构以及个人信息安全等内容。在实际操作中,公民应严格按照规定进行,确保个人权益不受影响。
3. 区域提取:使用图像分割技术和形态学操作来提取出身份证号码所在的区域。 4. 字符识别:使用字符识别算法,例如基于模板匹配的方法或基于机器学习的方法,对身份证号码中的字符进行识别。 5. 信息提取:根据...
以下是如何在Excel中确保身份证号码被正确输入的详细步骤,以及一些相关的知识点。 1. **理解Excel的数字处理方式**:Excel默认将输入的数据视为数值或日期,尤其是当输入的字符串由纯数字组成时,它可能会自动添加...
这表明他们在该领域的研究不仅限于身份证号码识别,还可能涵盖其他相关的图像识别和处理技术。在他们的研究中,通过提出一种不需要复杂预处理的直接输入原始图像的方法,有助于简化流程,提高处理速度和识别效率。 ...
在网络爬虫项目中,可能需要从网页上抓取包含身份证号码的信息,然后进行上述的解析操作,以便进一步的数据分析。 通过学习和理解这些知识点,开发者可以更好地处理与身份证信息相关的任务,无论是在数据分析、...
此外,考虑到隐私保护,此类功能在实际网站上使用时需要谨慎,因为身份证号码属于敏感信息,应当遵循相关的法律法规,确保数据的安全处理和存储。在没有得到用户明确授权的情况下,不应过度收集或展示这些个人信息。...