正则校验

年月日

var checkDate = function  (val) {
        var  pattern = /^(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)$/;
        if (pattern.test(val)) {
                var year = val.substring(0, 4);
                var month = val.substring(4, 6);
                var date = val.substring(6, 8);
                var date2 = new Date(year + '-' + month + '-' +date);
                if(date2 && date2.getMonth() == (parseInt(month)-1) ) {
                       return  true;
                }
        }
        return false;
}

身份证

var checkCode = function  (val) {
        var  p = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
        var  factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
        var  parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
        var  code = val.substring(17);
        if (p.test(val)) {
                var sum = 0;
                for(var i=0;i<17;i++) {
                        sum += val[i]*factor[i];
                }
                if(parity[sum % 11] == code.toUpperCase()) {
                       return  true;
                }
        }
        return false;
}

银行卡

var verifyBankID = function  (str) {
        var strArr = str.split('').reverse(),
            oddArr = [],
            evenArr = [],
            oddRes = 0,
            evenRes = 0;

        $.each(strArr, function(i) {
            if ((i + 1) % 2 == 0) {
              evenArr.push(strArr[i] * 2)
            } else {
              oddArr.push(strArr[i] * 1);
            }
        });

        $.each(oddArr.join('').split(''), function() {
            oddRes += this * 1;
        });
        $.each(evenArr.join('').split(''), function() {
            evenRes += this * 1;
        });
        if ((oddRes + evenRes) % 10 == 0) {
            return 1;
        } else {
            return 0;
        }
    }

电话正则

phone = /^1(3[0-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])\d{8}$/;

邮箱正则

email = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[a-zA-Z]{2,3}$/;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是好久之前写的了,现在整理下文章那就写一下吧,直接上演示Demo,如下所示,伸手党们可直接跳到最后去下载源码。 ...
    Blankj阅读 1,590评论 3 20
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,075评论 0 20
  • 前些天在做一个银行卡的校验,在网上搜了好久也没有找到能用的正则表达式,就自己写了了根据银行卡的bin值判断该卡所对...
    Orz013阅读 2,996评论 6 10
  • 思维导图的兴起逐渐引起人们的重视,因为它的高效、直观而被运用于越来越多的领域,效果是显而易见的。思想先进的教育家将...
    徘徊走遇见阅读 694评论 0 1
  • 2017-01-06 生而错觉 为了准备九号的面试,2017年的至少前九天每天都要来图书馆混日子。效率却是一日比一...
    K里姆森阅读 452评论 0 0