严格验证身份证号码的js代码,js根据身份证号判断性别

本文目录一览:

请给一个验证身份证有效性的js代码

!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”

HTML

HEAD

TITLE New Document /TITLE

META NAME=”Generator” CONTENT=”EditPlus”

META NAME=”Author” CONTENT=””

META NAME=”Keywords” CONTENT=””

META NAME=”Description” CONTENT=””

/HEAD

SCRIPT LANGUAGE=”JavaScript”

!–

function a( e ){

var v15 = /^\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d$/;

var v18 = /^\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d[1-9x]$/

if( e.value.length == 15 ){

if( !e.value.match(v15) ){

alert(“15位身份证号码应为数字”);

}

}else if( e.value.length == 18 ){

if( !e.value.match(v18) ){

alert(“18位身份证号码应为数字,最后一位可为x”);

}

}else{

alert(“身份证号码应为15或18位”);

}

}

//–

/SCRIPT

BODY

INPUT TYPE=”text” NAME=”” onblur=”a(this)”

/form

/BODY

/HTML

如果你的重点是验证身份证号码是否正确,你可以到网上找个接口,把号码传过去,整个信息都给你查出来了,何必这么麻烦,你又不是公安局的

我要一段验证身份证的js加上表单的写法

验证身份证的核心函数

function IDCardRegex(v) {

    v = SpaceClear(v);

    if (v.length != 18) {

        //alert(“长度不正确”);

        return false;

    }

    var numrex = /[0-9xX]/g;

    if (v.replace(numrex, ”) != ”) {

        //alert(“字符不正确”);

        return false;

    }

    var address = “11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91”;

    var left2=v.substr(0,2);

    if (address.indexOf(left2)  0) {

        //alert(“地区信息不正确”);

        return false;

    }

    var birth = v.substr(6, 8);

    birth = birth.substr(0, 4) + “-” + birth.substr(4, 2) + “-” + birth.substr(6);

    var birthday = new Date(birth);

    if (birthday.getDate().toString() == ‘NaN’) {

        //alert(“生日不正确”);

        return false;

    }

    //效验码

    var Wistr = “7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2”;

    var Wis = Wistr.split(‘,’);

    var Sums = 0;

    var Sum = 0;

    var c;

    for (var i = 0; i  17; i++) {

        c = v.substr(i, 1);

        Sum = parseInt(c) * parseInt(Wis[i]);

        Sums += Sum;

    }

    var Y = Sums % 11;

    var T = v.substr(17, 1);

    if (T == ‘X’) {

        T = ‘x’;

    }

    var E = ”;

    switch (Y) {

        case 0:

            Y = 1;

            break;

        case 1:

            Y = 0;

            break;

        default:

            Y = 12 – Y;

            break;

    }

    E = Y.toString();

    if (Y == 10) {

        E = ‘x’;

    }

    if (E != T) {

//        alert(“效验码不正确”);

        return false;

    }

//    alert(“检查完毕”);

    return true;

}

调用函数:

var idcardno=’*****’;

if(!IDCardRegex(idcardno))

{

//alert(“身份证号码格式不正确”);

}

会返回true或false

页面结合代码示例如下:

input type=”text” id=”text_idcard” /span id=”span_idcard”/span

input type=”button” id=”btn_ok” value=”确定” /

js代码如下 引用jquery

$(function(){

    $(“#text_idcard”).blur(function(){//当输完身份证号码 将鼠标点击其他地方时候触发事件

        var idcard=$(“#text_idcard”).val();

        idcard=idcard.replace(/\s+/g,””);

        if(IDCardRegex(idcard))

        {

            $(“#span_idcard”).text(“身份证格式正确”);

            //验证通过 提示可有可无

        }

        else

        {

            //验证未通过 

            $(“#span_idcard”).text(“身份证格式不正确”);

            $(“#text_idcard”).focus();//让焦点重新回到身份证输入框

            

        }

    })

    $(“#btn_ok”).click(function(){//按钮提交事件 这个可以写在下面一个函数里

        var idcard=$(“#text_idcard”).val();

        idcard=idcard.replace(/\s+/g,””);

        if(!IDCardRegex(idcard))

        {

            //验证未通过 

            $(“#span_idcard”).text(“身份证格式不正确”);

            $(“#text_idcard”).focus();//让焦点重新回到身份证输入框

            return false;//阻止按钮向下执行 

        }

        

    })

})

function btn_send()

{

    //—-把按钮执行事件写在这里 然后按钮属性加上onclick=”return btn_send()”

}

上面是手写代码 看LZ对js不太熟悉代码就啰嗦了很多

如何用javascript正则表达式验证身份证号

很简单

function CheckCardNo(card) 

  // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X 

  var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; 

  if(reg.test(card) === false) 

  { 

    alert(“身份证输入不合法”); 

    return false; 

  } 

}

CheckCardNo(‘123456778’);

js判断身份证号码是否合法有效全国通用

如果要做到全国通用。估计有点问题。毕竟身份证是与个人的信息相互对应的。除非走专业的通道去校验!!如果只是简单判断身份证是否合法有效,可以参考一下身份证号码的构造结构。

首先看看身份证是怎么构造的:

首先:

1)地区代码:表示出生地,上图为北京市朝阳区

2)出生日期:不解释,只要合理就好

3)顺序号:最后一位为奇数表示性别男,偶数性别女

4)校验位:这是系统验证比较关键的一位,由前面17位通过公式计算得出,具体公式在此不做讨论,因为其结果为数字0~9或者字母X

这些条件都知道了。

就可以开始了:

//首先最迟判断身份证号码的位数(18)

var CardNumber=””;//待验证的身份证号码

var iscard=/^\d{17}([0-9]|X)$/;

if(iscard.text(CardNumber)){

  //验证身份证的”地区代码(前6位数字,这里需要搜集各个地区的代码…)”

  if(这里校验地区代码){

     if(这里校验出生日期){

       //校验出生日期时,会牵扯到日历算法(计算某年的某月有多少天,防止用户随意输入大于31的日期)

       //如果判断到这里了,就可以初步确定为”合法有效”的身份证号码了。

       //因为“校验位”相对而言较复杂。如果楼主有意思。可以百度找资料。

     }

  }

}

js身份证验证怎么做

!DOCTYPE html

html

head

meta http-equiv=”content-type” content=”text/html;charset=gbk” /

/head

body

script type=”text/javascript” 

//–身份证号码验证-支持新的带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 = num;     

    // initialize 

    if ((intStrLen != 15)  (intStrLen != 18)) { 

        //error = “输入身份证号码长度不对!”; 

        //alert(error); 

        //frmAddUser.txtIDCard.focus(); 

        return false; 

    }     

    // check and set value 

    for(i=0;iintStrLen;i++) { 

        varArray[i] = idNumber.charAt(i); 

        if ((varArray[i]  ‘0’ || varArray[i]  ‘9’)  (i != 17)) { 

            //error = “错误的身份证号码!.”; 

            //alert(error); 

            //frmAddUser.txtIDCard.focus(); 

            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 = “身份证中日期信息不正确!.”; 

            //alert(error); 

            return false; 

        }         

        // calculate the sum of the products 

        for(i=0;i17;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) { 

            //error = “身份证效验位错误!…正确为: ” + intCheckDigit + “.”; 

            //alert(error); 

            return false; 

        } 

    }  

    else{        //length is 15 

        //check date 

        var date6 = idNumber.substring(6,12); 

        if (checkDate(date6) == false) { 

            //alert(“身份证日期信息有误!.”); 

            return false; 

        } 

    } 

    //alert (“Correct.”); 

    return true; 

}

function checkDate(date) 

    return true; 

}  

function check()

{

 idnum = document.getElementById(‘idcard’).value;

 alert(isIdCardNo(idnum));

 

}

/script

form id=”form1″ name=”form1″ method=”post” action=””

  table align=”center” width=”60%” border=”0″

    tr

      td /td

      td /td

      td /td

    /tr

    tr

      td /td

      td /td

      td /td

    /tr

    tr

      td width=”40%” valign=”top”div align=”right”用户注册/div/td

      td width=”11%” valign=”top” /td

      td width=”49%” valign=”top”a href=”#”管理员登录/a/td

    /tr

    tr

      td /td

      td /td

      td /td

    /tr

    tr

      td colspan=”3″table width=”100%” border=”0″

        tr

          td valign=”top” /td

          td valign=”top” /td

        /tr

        tr

          td valign=”top”div align=”right”姓    名:/div/td

          td valign=”top”label

            input type=”text” name=”textfield” /

          /label/td

        /tr

        tr 

          td width=”421″ valign=”top” /td

          td width=”561″ valign=”top” /td

        /tr

        tr

          td valign=”top”div align=”right”证件号码:

            /div/td

          td valign=”top”input type=”text” name=”idcard” id=”idcard”/

            label

            input type=”submit” name=”Submit3″ value=”验证” onClick=”check()”/

            /label/td

        /tr

        tr

          td valign=”top” /td

          td valign=”top” /td

        /tr

        tr

          td valign=”top”div align=”right”电话号码:/div/td

          td valign=”top”input type=”text” name=”textfield22″ //td

        /tr

        tr

          td valign=”top” /td

          td valign=”top” /td

        /tr

        tr

          td valign=”top” /td

          td valign=”top” /td

        /tr

        tr

          td valign=”top”

            div align=”right”

              input type=”submit” name=”Submit” value=”提交” /

              /div/td

          td valign=”top”label

              input type=”reset” name=”Submit2″ value=”重置” /

              /label/td

        /tr

      /table/td

    /tr

  /table

/form 

/body

/html

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/278374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-19 13:21
下一篇 2024-12-19 13:21

相关推荐

  • 如何通过身份证号码判断性别?

    如果您想知道如何通过身份证号码判断性别,我们将在本文中为您提供全面的解决方案。 一、身份证号码构成 中国公民的身份证号码由18位数字组成,前17位是个人信息码,最后一位是校验码。其…

    编程 2025-04-29
  • Python提取身份证号码的年月日和性别代码

    本文将从以下几个方面对Python提取身份证号码的年月日和性别代码进行详细阐述。代码示例见下文。 一、Python计算身份证号码中的生日 身份证号码中前6位为出生年月日信息,其中前…

    编程 2025-04-28
  • 身份证号码正则表达式详解

    一、身份证号码的基础结构 身份证号码是由18个字符组成的,分为前17位和最后一位校验位。而校验位的计算方法是经过公式计算得来的,可以确定身份证号码是否错误。其中,前6位是地区码,接…

    编程 2025-04-23
  • 深入剖析身份证号正则表达式

    一、身份证号正则表达式介绍 身份证号正则表达式是指对身份证号进行验证的一种规则,它由数字、大小写字母和特殊字符等组成,用于判断身份证号是否符合规范。在实际开发中,为了保证输入数据的…

    编程 2025-02-17
  • python读取身份证号码(python提取身份证信息)

    本文目录一览: 1、用Python校验身份证号码真伪 2、python3.8.3 控制台提示输出身份证号,并输出接入的数据的位数? 3、Python怎么用正则表达式匹配全省身份证号…

    编程 2025-01-16
  • mysql根据身份证号计算年龄

    一、从Excel根据身份证号计算年龄 如果我们有一个包含身份证号的Excel表格,我们可以使用Excel自带的函数来计算年龄。通过Excel的DATEDIF函数,我们可以计算出生日…

    编程 2025-01-11
  • JavaScript实现身份证号校验方法详解

    身份证号码是我们每个人的身份识别证明,但是随便输入一个乱码的号码都会被系统认可,因此我们需要使用JavaScript对身份证号码进行校验,确保数据的正确性。本文将详细介绍JavaS…

    编程 2024-12-30
  • java身份证号脱敏(身份证号脱敏处理)

    本文目录一览: 1、怎么实现java 敏感数据脱敏 2、已做过脱敏的身份证怎么还原 3、使用java判断输入身份证号位数是否正确?判断输入是否有效? 4、如何用Java实现数据脱敏…

    编程 2024-12-28
  • mysql性别字段类型,性别字段数据类型

    本文目录一览: 1、mysql 表中性别字段用了int类型,想加check约束 2、MySQL数据库中建表字段性别(sex)的类型 3、mysql性别用什么类型 4、我想要在MYS…

    编程 2024-12-25
  • 数据库性别用什么类型存,数据库的性别应该什么类型

    本文目录一览: 1、数据库中,性别男女的字段类型怎么定义啊 2、年龄信息、性别信息分别采用哪种数据类型存储 3、visual foxpro数据库性别是什么类型 4、请教一下 在sq…

    编程 2024-12-24

发表回复

登录后才能评论