javascript验证身份证完全方法具体实现_javascript技巧

复制代码 代码如下:

var certCardValid = function(id){
        var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];
        var wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
        var Checker = [1,9,8,7,6,5,4,3,2,1,1];
        var msg = "";
        if(id.length != 15 && id.length != 18) {
            Ext.MessageBox.alert("信息提示","身份证号共有15位或18位。");
            return false;
        }

        var ai = id.length == 18 ?  id.substring(0,17) : id.slice(0,6) + "19" + id.slice(6,16);

 
        if (!/^/d+$/.test(ai)) {
            Ext.MessageBox.alert("信息提示","身份证除最后一位外,必须为数字。");
            return false;
        } 

 
        var yyyy = ai.slice(6,10);
        var mm = ai.slice(10,12)-1; 
        var dd = ai.slice(12,14);
        var d = new Date(yyyy,mm,dd);
        var now = new Date();
        var year = d.getFullYear();
        var mon = d.getMonth(); 
        var day = d.getDate();

 
        if (year != yyyy || mon != mm || day != dd) {
            Ext.MessageBox.alert("信息提示","身份证无效。");
            return false;
        }

 
        for(var i = 0,ret = 0; i < 17; i++){
            ret += ai.charAt(i) * wi[i];
        }

        ai += arrVerifyCode[ret %= 11];
        ai = ai.toUpperCase();

 
        if(id.length == 18 && id != ai){
            Ext.MessageBox.alert("信息提示","身份证无效。");
            return false;
        }
        return true;
    };

时间: 2024-11-01 12:51:10

javascript验证身份证完全方法具体实现_javascript技巧的相关文章

JavaScript 数组- Array的方法总结(推荐)_javascript技巧

JavaScript中的Array类型是经常用到的,Array类型也提供了很多方法能实现我们需求,下面我们来总结一下 一.创建Array的方法 var colors=new Array(); var colors=new Array(3);//创建一个长度为3的数组 var colors=new Array("red","blue")//创建一个数组["red","blue"] 当然,上面的new可以省略不写,如 var co

javascript瀑布流布局实现方法详解_javascript技巧

本文实例讲述了javascript瀑布流布局实现方法.分享给大家供大家参考,具体如下: html结构: <div id="waterfall"> <div class="mod-box"> <div class="mod-img">...</div> </div> <div class="mod-box"> <div class="mod-

Javascript数组中push方法用法分析_javascript技巧

本文实例讲述了Javascript数组中push方法用法.分享给大家供大家参考,具体如下: 看下面代码: var o = { 1:'a' ,2:'b' ,length:2 ,push:Array.prototype.push }; o.push('c'); Q:o现在内部的值是什么样子? 我的第一反应是排斥,为什么要研究不合理情况下[解释引擎]的行为?但是这种推论有时候又很吸引人,于是我回来的时候仔细思考了下,发现其实很简单. 对于push这个方法,我条件反射地想到的就是栈,[数据结构的经典栈]

javascript数组遍历的方法实例分析_javascript技巧

本文实例讲述了javascript数组遍历的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var a = [1,2,3,4,5,6]; var b = a.

JavaScript设计模式之工厂方法模式介绍_javascript技巧

1. 简单工厂模式 说明:就是创建一个工厂类,里面实现了所对同一个接口的实现类的创建. 但是好像JavaScript 好像没有 接口 这号东西,所以我们去掉接口这个层; 当然,我们这里的 实现类 下的成员变量,方法应该都是一样的: 例如:这时举短信发送跟邮件发送的例子; 1>. 邮件发送[实现]类 复制代码 代码如下: function MailSender() {     this.to = '';     this.title = '';     this.content = ''; } M

javascript图片延迟加载实现方法及思路_javascript技巧

本文实例为大家介绍了如何通过javascript来延迟加载图片,分享给大家供大家参考,具体内容如下 当一个网页中含有大量图片时,如果一开始就将图片全部加载完毕,势必会引起性能和效率上的问题,用户可能会由于等待时间过久而离开. 这个时候,我们需要利用懒加载,也就是延迟加载图片的方式,来提高网站的亲和力. 一.延迟加载图片 基本思路如下: 给需要延迟加载的图片设置自定义属性比如lazy-src,存在图片源所在路径.然后将所有需要懒加载的图片放入一个数组,在window.onscroll的时候判断该数

javascript表单事件处理方法详解_javascript技巧

本文实例为大家分享了javascript处理表单事件的常用方法,供大家参考,具体内容如下 1.访问表单对象的常用方法: ①:根据<form>元素的id属性: var myform=document.getElementById("myformid");  //myformid是某个<form>元素的ID: ②:根据<form>元素的name属性: var myform=document.forms["myformname"]; /

JavaScript 5 新增 Array 方法实现介绍_javascript技巧

复制代码 代码如下: /*! * jLip JavaScript Library v0.1 * * Copyright 2012, Lip2up (lip2up@qq.com) * Just for free use, NO LICENSE */ (function() { function extend(target, props) { for (var m in props) { if (target[m] === undefined) target[m] = props[m]; } } v

javascript 改变字体大小方法集合[原创]_javascript技巧

字体: 小中大 www.jb51.net 欢迎大家的光临.