Javascript_正则校验

// 验证为空
function validateEmpty(str) {
    if(str.trim() == ''){
        return false;
    } else {
        return true;
    }
}
//验证IP
function validateIp(str) {
    var exp = /^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/;
    if (exp.test(str)) {
        return true;
    } else {
        return false;
    }
}

// 验证IP段
function validateIps(str) {
    var reSpaceCheck = /^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\-((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/;
    if (reSpaceCheck.test(str)) {
        var ipsArray =ips2array(str);
        var ipbegin=ipsArray[0];
        var ipend=ipsArray[1];
        return compareIp(ipbegin,ipend);
    } else {
        return false;
    }
}

// IP段转换成IP数组
function ips2array(ips) {
    var ipsarray = new Array(2);
    for(i=0;i<2;i++) {
           if(i<1) {
              ipsarray[i] = ips.substring(0,ips.indexOf("-"));
               ips = ips.substring(ips.indexOf("-")+1);
           }else {
               ipsarray[i] = ips;
           }
    }
    return ipsarray;
}

//IP转换成数组
function ip2array(ip) {
    var iparray = new Array(4);
    for(i=0;i<4;i++) {
           if(i<3) {
              iparray[i] = ip.substring(0,ip.indexOf("."));
               ip = ip.substring(ip.indexOf(".")+1);
           }else {
               iparray[i] = ip;
           }
    }
    return iparray;
}

// 比较开始IP与结束IP的大小,开始IP小于等于结束IP,返回true
function compareIp(ipbegin,ipend) {
    var beginArray=ip2array(ipbegin);
    var endArray=ip2array(ipend);
    for(i=0;i<4;i++) {
        var beginIp = parseInt(beginArray[i]);
        var endIp = parseInt(endArray[i]);
        //alert(beginIp+" | "+endIp+" | "+(beginIp<=endIp));
        if(beginIp<endIp) {
            return true;
        }else if(beginIp==endIp){
            continue;
        }else if(beginIp>endIp) {
            return false;
        }
    }
    return true;
}

// 验证IP或IP段
function validateIpAddr(str) {
    return validateIp(str)||validateIps(str);
}

// 验证端口
function validatePort(str) {
    if (str == '') {
        return false;
    }
    if (!/^[\d]+$/.test(str)) {
        return false;
    }
    if (parseInt(str) == 0 || parseInt(str) > 65535) {
        return false;
    }
    return true;
}
//验证端口段 78,59-457,98,89-26
function validatePorts(str){
       
    var ss =str.split(",");
    for(var i =0;i<ss.length;i++){
    
         //前后有逗号
         if(ss[i]==""){
            return false;
         }
         //无横杠
         if(ss[i].indexOf("-")== -1){
            
                if(!validatePort(ss[i])){
                    return false;
                }
         }
         //有横杠  
         if(ss[i].indexOf("-") >=0){
              
              //前后是横杠
                if(ss[i].indexOf("-") ==0 || ss[i].indexOf("-") ==ss[i].length-1){
                    return false;
                }
  
              var hgs = ss[i].split("-");
               
              //比较大小
              if(parseInt(hgs[0]) > parseInt(hgs[1])){
                 
                    return false;
              }
  
              //中间是横杠
              for(var j =0; j<hgs.length ;j++){
                    if(!validatePort(hgs[j])){
                      
                        return false;
                    }
              }
         }
        

    } 
    
     return true;
}

// 验证中文
function validateCNChar(str) {
    if (!/^[\u4e00-\u9fa5]+$/.test(str)) {
        return false;
    }
    return true;
}

// 验证双字节字符(包括中文)
//function validateCNChar(str) {
//    if (!/^[^\x00-\xff]$/.test(str)) {
//        return false;
//    }
//    return true;
//}

// 验证EMAIL
function validateEMail(str) {
    if (!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(str)) {
        return false;
    }
    return true;
}

// 验证整数
function validateInt(str) {
    if (str == '') {
        return false;
    }
    return /^[\-]?([1-9]\d*|0)$/.test(str);
}

// 验证正整数
function validatePosInt(str) {
    if (str == '') {
        return false;
    }
    return /^[0-9]*[1-9][0-9]*$/.test(str);
}

// 验证日期
function validateDate(str) {
    if (str == '') {
        return false;
    }
    return /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})/.test(str);
}

// 验证手机号码
function validateMobile(str) {
    if (str == '') {
        return false;
    }
    return /^0*\d{11}$/.test(str);
}

// 验证电话号码
function validatePhone(str) {
    if (str == '') {
        return false;
    }
    return /^\d{3,4}-\d{7,8}(-\d{3,4})?$/.test(str);
}

// 验证最小长度
function validateMinLength(str, minLength){
    if (str == '') {
        return false;
    }
    var length = str.len();
    if(length < minLength)
        return false;
    return true;
}

// 验证最大长度
function validateMaxLength(str, maxLength){
    if (str == '') {
        return false;
    }
    var length = str.len();
    if(length > maxLength)
        return false;
    return true;
}

// 验证长度范围
function validateLengthScope(str, minLength, maxLength){
    if (str == '') {
        return false;
    }
    if(validateMinLength(str, minLength) && validateMaxLength(str, maxLength))
        return true;
    return false;
}

// 验证后缀名
function validateSuffix(str, suffix){
    if (str == '') {
        return false;
    }
    var re = new RegExp("(." + suffix + ")$");
    if (!re.test(str.toLowerCase()))
        return false;
    return true;
}

// 验证标识(以字母和下划线开头,后面是字母、数据、下划线)
function validateFlag(str) {
    if (str == '') {
        return false;
    }
    return /^[A-Za-z_]{1}\w*$/.test(str);
}
function validateCDATAEnd(str){
    
    if(str.indexOf("]]>") >=0){
         return false;
    }
    return true;
}

// 比较整数大小,num1大于num2返回值大于零,num1小于num2返回值小于零,相等返回值等于零。
// 参数num1和num2必须为数字类型。
function compare(num1, num2) {
    if (num1 == num2) {
        return 0;
    } else if (num1 > num2) {
        return 1;
    } else {
        return -1;
    }
}
 

转载于:https://my.oschina.net/xiaoshoubingliang/blog/870137

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值