<!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>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>网页特效身份证号码验证实例代码</title>
<script>
function isidcardno(num)
{
var factorarr = new array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var error;
var vararray = new array();
var intvalue;
var lngproduct = 0;
var intcheckdigit;
var intstrlen = num.length;
var idnumber = num;
// initialize
if ((intstrlen != 15) && (intstrlen != 18))
{
return false;
}
// check and set value
for(i=0;i<intstrlen;i++)
{
vararray[i] = idnumber.charat(i);
if ((vararray[i] < '0' || vararray[i] > '9') && (i != 17))
{
return false;
}
else if (i < 17)
{
vararray[i] = vararray[i]*factorarr[i];
}
}
if (intstrlen == 18)
{
//check date
var date8 = idnumber.substring(6,14);
if (checkdate(date8) == false)
{
//error = "身份证中日期信息不正确!.";
return false;
}
// calculate the sum of the products
for(i=0;i<17;i++)
{
lngproduct = lngproduct + vararray[i];
}
// calculate the check digit
intcheckdigit = 12 - lngproduct % 11;
switch (intcheckdigit)
{
case 10:
intcheckdigit = 'x';
break;
case 11:
intcheckdigit = 0;
break;
case 12:
intcheckdigit = 1;
break;
}
// check last digit
if (vararray[17].touppercase() != intcheckdigit)
{
return false;
}
}
else
{ //length is 15
//check date
var date6 = idnumber.substring(6,12);
if (checkdate(date6) == false)
{
//alert("身份证日期信息有误!.");
return false;
}
}
return true;
}
function checkdate(date)
{
return true;
}function test()
{
var id = document.getelementbyid('id').value;
alert(id);
alert(isidcardno(id));
}
</script>
</head><body>
<tr>
<td align="right" class="reg-item"><span class="color">*</span>身 份 证:</td>
<td><input id="user_sfz" class="input_out" name="user_sfz" type="text" onfocus="onfuos('user_sfz')" onblur="regsfz()" onmousemove="this.classname='input_move'" onmouseo教程ut="this.classname='input_out'" style="width:250px;" /></td>
<td><span id="sfz"></span></td>
</tr>
</body>
</html>
身份证号码的规则】
1、15位身份证号码组成:
ddddddyymmddxxs共15位,其中:
dddddd为6位的地方代码,根据这6位可以获得该身份证号所在地。
yy为2位的年份代码,是身份证持有人的出身年份。
mm为2位的月份代码,是身份证持有人的出身月份。
dd为2位的日期代码,是身份证持有人的出身日。
这6位在一起组成了身份证持有人的出生日期。
xx为2位的顺序码,这个是随机数。
s为1位的性别代码,奇数代表男性,偶数代表女性。
2、18位身份证号码组成:
ddddddyyyymmddxxsp共18位,其中:
其他部分都和15位的相同。年份代码由原来的2位升级到4位。最后一位为校验位。
校验规则是:
(1)十七位数字本体码加权求和公式
s = sum(ai * wi), i = 0, ... , 16 ,先对前17位数字的权求和
ai:表示第i位置上的身份证号码数字值
wi:表示第i位置上的加权因子
wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2)计算模
y = mod(s, 11)
(3)通过模得到对应的校验码
y: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 x 9 8 7 6 5 4 3 2
javascript身份证号码验证实例代码
时间: 2024-07-31 17:52:31
javascript身份证号码验证实例代码的相关文章
不要再喊“谁给我一个身份证号码验证的代码”了,脚本之家站长提供了_应用技巧
QQ群里的兄弟问"谁给我一个身份证号码验证的代码"正好我也需要就从网上找了下代码,感觉不错,适合15和18位的身份证,网上好的垃圾站,都是直接采集csdn的问题,答案都没有,汉 用javascript验证15位或18位身份证号码 ,最离谱的事,竟然有人搜给我一个身分证号码,给我一个身份证看样大家很厉害啊,有可能大家是要一个身份证生成器吧,好的,我提供下吧 复制代码 代码如下: function checkIDCard (str) { //身份证正则表达式(15
javascript身份证号码验证
https://github.com/oxcow/id-number-validator 版权声明: 关于<javascript身份证号码验证>的一切权利归作者@Leeyee所有: 非商用.非衍生; 如需转载需要注明来源于http://iyiguo.net/blog/2013/07/31/javascript-idcard-validate/ 15位身份证号码编码规则 18位身份证号码编码规则 校验规则 javascript编码实现 源代码 验证示例 15位身份证号码编码规则 ddddddyy
javascript身份证号码验证函数
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv="conte
javascript身份证号码验证函数支持带x
//--身份证号码验证-支持新的带x身份证 function isIdCardNo(num) { var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1); var error; var varArray = new Array(); var intValue; var lngProduct = 0; var intCheckDigit; var intStrLen = num.length; var idNumber
javascript 身份证号码验证函数(可辨真伪,支持15或18位身份证号)测试误差为0_javascript技巧
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 更直接的测试代码就是:alert(test("身份证号码")); 经测试,上面的JS验证太强大了,输入正确的身份证后,随便改一位都报错!非常实用,以后大家就方便了解用户输入的身份证的正确与否了.
js实现身份证号码验证的简单实例
本篇文章主要是对js实现身份证号码验证的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 以下是根据身份证号码编码规则,使用JS对其进行有效性验证代码 IdCard-Validate.js代码如下: 代码如下: /** * 身份证15位编码规则:dddddd yymmdd xx p * dddddd:地区码 * yymmdd: 出生年月日 * xx: 顺序类编码,无法确定 * p: 性别,奇数为男,偶数为女 * <p /> * 身份证18位编
js验证身份证号码真实性实现代码
身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p 其中 dddddd:地区码 yymmdd: 出生年月日 xx: 顺序类编码,无法确定 p: 性别,奇数为男,偶数为女: 身份证18位编码规则:dddddd yyyymmdd xxx y 其中 dddddd:地区码 yyyymmdd: 出生年月日 xxx:顺序类编码,无法确定,奇数为男,偶数为女 y: 校验码,该位数值可通过前17位计算获得,计
asp.net 中国身份证号码验证代码 非正则_实用技巧
复制代码 代码如下: using System; /// <summary> /// Summary description for IDCardValid /// </summary> public class IDCardValid { public IDCardValid() { // // TODO: Add constructor logic here // } /// <summary> /// 验证身份证号码 /// </summary> //
jsp身份证号码验证代码(15,18位)
<%@ page contenttype="text/html; charset=gb2312" language="java" import="java.sql.*" errorpage="" %> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml