function isidcardno(idvalue) {
var len=0, re;
len=idvalue.length;
if (len == 15 && isnumberstring(idvalue,"1234567890"))
re = new regexp(/^(d{6})()?(d{2})(d{2})(d{2})(d{3})$/);
else if (len == 18 && isnumberstring(idvalue,"1234567890xx"))
re = new regexp(/^(d{6})()?(d{4})(d{2})(d{2})(d{3})(d)$/);
else {
// alert("输入的公民身份号码不合法,请重新输入!");
return false;
}
var a = idvalue.match(re);
if (a != null){
if (len==15){
var d = new date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var b = d.getyear()==a[3]&&(d.getmonth()+1)==a[4]&&d.getdate()==a[5];
}else{
var d = new date(a[3]+"/"+a[4]+"/"+a[5]);
var b = d.getfullyear()==a[3]&&(d.getmonth()+1)==a[4]&&d.getdate()==a[5];
}
if (!b) {
//alert("输入的公民身份号码 "+ a[0] +" 的日期不合法,请重新输入!");
//alert("输入的公民身份号码不合法,请重新输入!");
return false;
}
}
if(len == 18 && !verifygmsfhlast(idvalue)){
if (idvalue.substr(17,1)=='x'){
//alert("公民身份号码的最后一位校验码不正确('x'应为大写),请检查!");
}else
{
//alert("输入的公民身份号码不合法,请重新输入!");
}
return false;
}
return true;
}function verifygmsfhlast(sval){
if(sval.length != 18) return false;
var wi = new array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);var vi = new array(1,0,'x',9,8,7,6,5,4,3,2)
var ai = new array(17);
var sum = 0;
var remaining = 0;
var verifynum = "";
//通过循环把18位身份证的前17位存到数组ai中
for(var i = 0; i < 17; i++){
ai[i] = parseint(sval.substring(i,i+1));
}
for(var m = 0; m < ai.length; m++){
//加权
sum = sum + wi[m] * ai[m];
}
remaining = sum % 11;
if(remaining == 2){
verifynum = "x";
}else{
verifynum = vi[remaining];
}
if(verifynum != sval.substring(17,18)){
return false;
}else{
return true;
}
}
javascript 公民身份号码验证代码
时间: 2024-09-21 00:33:24
javascript 公民身份号码验证代码的相关文章
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
中华人民共和国公民身份号码校验
source: http://zh.wikipedia.org/wiki/中华人民共和国公民身份号码 #!/usr/bin/python import re; #定义验证函数def IC_chk(ic_serial): #权重数组 iW = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];#身份证号码中可能的字符 values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
用ASP动态生成JavaScript的表单验证代码
javascript|表单验证|动态 表单的验证是开发WEB应用程序中常遇到的一关.有时候我们必须保证表单的某些项必须填写.必须为数字.必须是指定的位数等等,这时候就要用到表单验证了,一般我们常用的表单验证有2种方式: 1.编写JavaScript或VBScript的表单验证函数,在客户端进行验证:2.在表单提交后,使用ASP的方法Request.Form获取表单的输入值进行判断,然后返回结果,这是在服务端进行验证: 这2种方式都有其优缺点,比如第1种方式速度比较快,而且通常使用警告框的方式,用
asp.net 中国身份证号码验证代码 非正则_实用技巧
复制代码 代码如下: using System; /// <summary> /// Summary description for IDCardValid /// </summary> public class IDCardValid { public IDCardValid() { // // TODO: Add constructor logic here // } /// <summary> /// 验证身份证号码 /// </summary> //
javascript邮箱 网址正则验证代码
网页特效邮箱 网址正则验证代码 function checkurl(){ var maxlength = 50; var url = $("#tbcommentauthorurl").val(); if(url.length == 0){ commenturlisvalid = true; return true; } else i
邮编号码验证代码
zipcode if (document.regform.u_zipcode.value == ""){ alert ("提示: 必须输入邮编!"); document.regform.u_zipcode.focus(); return false; } if (document.regform.u_zipcode.value.length!=6){ alert ("提示: 邮编长度不正确!"); document.r
PHP实现中国公民身份证号码有效性验证示例代码
本文将使用Java实现中国公民(15位或者18位)身份证号码的相关验证,功能如下: 身份证号有效性验证 分析详细身份证信息 生成一个虚拟的省份证号码. 身份证号码验证 1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 2.地址码(前六位数) 表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行. 3.出生日期码(第七位至十四位) 表示编码对象出
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
js电子邮箱 QQ号码 MSN验证代码
email 邮箱验证 if (document.regform.u_email.value.length==0) { alert("提示: 请填写你的email地址"); document.regform.u_email.focus(); return false; } else if ((document.regform.u_email.value.indexof(