﻿function Check( reg, str )
{
    if( reg.test( str ) )
    {
        return true;
    }
    return false;
}

// 空字符串
function IsEmpty( str )
{
    return ( str == "" );
}

// 数字
function IsNumber( str )
{
    var reg = /^\d*(?:$\.\d*$)/;
    return Check( reg, str );
}

// 数值逻辑大小
function CompareNum( num1, num2 )
{
    if( num1 > num2 )
    {
        return 1;
    }
    if( num1 == num2 )
    {
        return 0;
    }
    return -1;
}

// 邮编
function IsZip( str )
{
    var reg = /^\d{6}$/;
    return Check( reg, str );
}

// 手机号/小灵通号
function IsMobile( str )
{
    var regMobile = /^\d{11,12}$/;
    return Check( regMobile, str );
}

// 15位身份证号
function IsIDCardNum15( str )
{
    var reg = /^\d{15}$/;
    return Check( reg, str );
}

// 18位身份证号
function IsIDCardNum18( str )
{
    var reg = /^\d{17}(?:\dx)$/;
    return Check( reg, str );
}

// 字母或数字
function IsCharOrNum( str )
{
    var reg = /^\w+$/;
    return Check( reg, str );
}

// Email
function IsEmail( str )
{
    var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return Check( reg, str );
} 

//日期格式：YYYY-MM-DD
function IsDate(strDate){
   var strSeparator = "-"; //日期分隔符
   var strDateArray;
   var intYear;
   var intMonth;
   var intDay;
   var boolLeapYear;
   
   strDateArray = strDate.split(strSeparator);
   
   if(strDateArray.length!=3) return false;
   
   intYear = parseInt(strDateArray[0],10);
   intMonth = parseInt(strDateArray[1],10);
   intDay = parseInt(strDateArray[2],10);
   
   if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false;
   
   if(intMonth>12||intMonth<1) return false;
   
   if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) return false;
   
   if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) return false;
   
   if(intMonth==2){
      if(intDay<1) return false;
      
      boolLeapYear = false;
      if((intYear%100)==0){
         if((intYear%400)==0) boolLeapYear = true;
      }
      else{
         if((intYear%4)==0) boolLeapYear = true;
      }
      
      if(boolLeapYear){
         if(intDay>29) return false;
      }
      else{
         if(intDay>28) return false;
      }
   }
   
   return true;
}

