javascript验证完全方法具体实现

 更新时间:2013年11月18日 15:38:12   投稿:shangke  
下面这段代码完全实现了判断是否合格.传入号码就行了,包括了算法,下面的是用Ext实现的,但是基于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;
    };

相关文章

  • JavaScript中关于base64的一些事

    JavaScript中关于base64的一些事

    base64 其实是一种编码转换方式, 将 ASCII 字符转换成普通文本, 是网络上最常见的用于传输8Bit字节代码的编码方式之一。这篇文章重点给大家介绍JavaScript中关于base64的一些事,感兴趣的朋友跟随小编一起看看吧
    2019-05-05
  • JavaScript鼠标移动事件以及实战案例

    JavaScript鼠标移动事件以及实战案例

    在学习JS中我对鼠标移动事件进行了一些总结,需要的可以作参考,下面这篇文章主要给大家介绍了关于JavaScript鼠标移动事件以及实战案例的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • JavaScript中各种二进制对象关系的深入讲解

    JavaScript中各种二进制对象关系的深入讲解

    JavaScript中用于表示二进制对象有,Blob对象、和 ArrayBuffer 对象,这篇文章主要给大家介绍了关于JavaScript中各种二进制对象关系的相关资料,需要的朋友可以参考下
    2021-09-09
  • JS实现图片上下切换

    JS实现图片上下切换

    这篇文章主要为大家详细介绍了JS实现图片上下切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JavaScript中的依赖注入详解

    JavaScript中的依赖注入详解

    这篇文章主要介绍了JavaScript中的依赖注入详解,本文讲解了requirejs/AMD方法、反射(reflection)方法等内容,需要的朋友可以参考下
    2015-03-03
  • JavaScript canvas绘制圆形加载进度条

    JavaScript canvas绘制圆形加载进度条

    这篇文章主要为大家详细介绍了JavaScript canvas绘制圆形加载进度条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • JS基于面向对象实现的拖拽功能示例

    JS基于面向对象实现的拖拽功能示例

    这篇文章主要介绍了JS基于面向对象实现的拖拽功能,涉及javascript面向对象与页面元素动态操作的相关技巧,需要的朋友可以参考下
    2016-12-12
  • 根据经纬度计算地球上两点之间的距离js实现代码

    根据经纬度计算地球上两点之间的距离js实现代码

    最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下,根据地球是一个光滑的球面以及并不是一个真正的圆球体,而是椭球延伸出两种方法,感兴趣的你可以参考下
    2013-03-03
  • JavaScript常见的五种数组去重的方式

    JavaScript常见的五种数组去重的方式

    本文主要JavaScript常见的五种数组去重的方式进行一一思路分析实例介绍,易于理解与学习,具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • 一文了解你不知道的JavaScript生成器篇

    一文了解你不知道的JavaScript生成器篇

    ES6引入了一个新的函数类型,发现它并不符合这种运行到结束的特性。这类新的函数被称为生成器。生成器的出现是我们知道原来有时代码并不会顺利的运行,可以通过暂停的方式进行异步回调,让我们摒弃了此前的认知。本文就来聊聊JavaScript中生成器的相关知识
    2022-11-11

最新评论