常用的正则验证

常用的正则验证1、2、返回链接中的某个参数值3、格式化时间4、JS判断两个日期大小适合2012-09-09与2012-9-9两种格式的对比5、字符串长度6、根据身份证判断性别都以18位第二代身份证7、根据身份证匹配生日都以18位第二代身份证8、根据年月日获取得到年龄9、验证汉字姓名

大家好,欢迎来到IT知识分享网。常用的正则验证"

1、

jQuery.fn.extend({
    //全选
    allCheck : function(){
        return this.each(function(){
            this.checked = true;
        })
    },
    //全不选
    allNotCheck : function(){
        return this.each(function(){
            this.checked = false;
        })
    },
    //反选
    reCheck : function(){
        return this.each(function(){
            this.checked = !this.checked;
        })
    },
    //最小
    min:function(a,b){
        return a < b ? a : b;
    },
    //最大
    max: function(a, b) {
        return a > b ? a : b;
    },
    //数组中最小
    minArry: function(arry){
        return Math.min.apply(null,arry);
    },
    //数组中最大
    maxArry: function(arry){
        return Math.max.apply(null,arry);
    },

});

2、返回链接中的某个参数值

function getQuerySrting(name) {
    var search = location.search.substring(1).split('&');
    var value = false;
    for (var i = 0;i < search.length;i++) {
        var keyValue = search[i].split('=');
        if (keyValue[0] == name) {
            value = keyValue[1];
        }
    }
    return value;
}

3、格式化时间

/***
功能:format:格式化时间。
用法:
yourdate.format("你的日期格式");
例子:
    obj0 = new Date("Sun May 04 2008").format("yyyy-MM-dd");
    obj1 = new Date().format("yyyy-MM-dd hh:mm:ss");
    obj2 = new Date().format("yyyy-MM-dd");
    obj3 = new Date().format("yyyy/MM/dd");
    obj4 = new Date().format("MM/dd/yyyy");
*****/
Date.prototype.format = function(format){
   var o = {
     "M+" : this.getMonth()+1, //month
     "d+" : this.getDate(),    //day
     "h+" : this.getHours(),   //hour
     "m+" : this.getMinutes(), //minute
     "s+" : this.getSeconds(), //second
     "q+" : Math.floor((this.getMonth()+3)/3), //quarter
     "S" : this.getMilliseconds() //millisecond
   }
    if(/(y+)/.test(format)){
        format=format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
    }
    for(var k in o){
        if(new RegExp("("+ k +")").test(format)){
            format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
        }
    }
    return format;
}

4、JS判断两个日期大小 适合 2012-09-09 与2012-9-9 两种格式的对比

//JS判断两个日期大小 适合 2012-09-09 与2012-9-9 两种格式的对比
//得到日期值并转化成日期格式,replace(/\-/g, "\/")是根据验证表达式把日期转化成长日期格式,这样再进行判断就好判断了
function ValidateDate(beginDate,endDate) {
    if (beginDate.length > 0 && endDate.length>0) {
        var sDate = new Date(beginDate.replace(/\-/g, "\/"));
        var eDate= new Date(endDate.replace(/\-/g, "\/"));
        if (sDate > eDate) {
            return false;
        }else{
            return true;
        }
    }
}

5、字符串长度

//return 字符串长度
function returnLength(val){
    var val = $.trim(val);
    return len = val.length;
}

6、根据身份证判断性别 都以18位第二代身份证

//根据身份证判断性别 都以18位第二代身份证
function matchSex(cardnum){
    var sexnum = cardnum.substr(16,1);
    return (sexnum%2)==1?1:2;   //1:男   2:女
}

7、根据身份证匹配生日 都以18位第二代身份证

function matchBirthday(cardnum){
    var year = cardnum.substr(6,4);
    var month = cardnum.substr(10,2);
    var day = cardnum.substr(12,2);
    var birthday = year+'-'+month+'-'+day;
    return birthday;
}

8、根据年月日获取得到年龄

function ages(str) {
    var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
    if (r == null)
        return   false;
    var d = new Date(r[1], r[3] - 1, r[4]);
    if (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4])
    {
        d = new Date();
        var nowMonth = d.getMonth() + 1;
        var nowDay = d.getDate();
        //console.log(nowMonth, r[3], nowDay, r[4]);
        var Y = new Date().getFullYear();
        if (nowMonth < r[3]) {
            return (Y - r[1]) - 1;
        } else if (nowMonth == r[3] && nowDay < r[4]) {
            return (Y - r[1]) - 1;
        }
        return Y - r[1];
    }
    return("输入的日期格式错误!");
}

9、验证 汉字姓名

//验证 汉字姓名
function isUserName(username){      
    var pattern = /[\u4e00-\u9fa5]{2,14}/;
    return pattern.test( $.trim(username) );
//    var pattern =  /^\D\D{0,}$/;
//    return pattern.test( $.trim(username) );
}

10、验证手机号码

//验证手机号码
function isPhoneNo(phonenum){       
    var pattern = /^1[34578]\d{9}$/;
    return pattern.test( $.trim(phonenum) ); 
}

11、验证身份证 

//验证身份证 
function isCardNo(card) {           
//  var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; 
//  return pattern.test( $.trim(card) ); 
    var idCard_base=card.substr(0,17);
    var verify_code=card.substr(17,1);
    var factor=[7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
    var verify_code_list=['1', '0', 'X','9', '8', '7', '6', '5', '4', '3', '2','x'];
    var total=0;
    for(var i=0;i<17;i++){
        var index=i;
        total+=idCard_base.substr(index,1)*factor[index];
    }
    var mod=total%11;
    if(verify_code==verify_code_list[mod]){
       
        return true;
        
    }else {
       
        return false;
    }
} 

12、密码 匹配6到14位的字母和数字组成

function isPassword(pass){          
    var pattern = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,14}$/;
    return pattern.test( $.trim(pass) );
}

13、邮箱 

//邮箱 
function isEmail(email){             
    var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-z]{2,4})+$/;
    return pattern.test( $.trim(email) );
}

 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30832.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信