JavaScript函数//函数名:fucCheckDate() (YYYY-MM-DD)//功能介绍:检查是否为日期//参数说明:要检查的字符串//返回值:0:不是日期 1:是日期  function fucCheckDate(strDate)  {        var  nLen, nIdx ;   var  csplit, cflag ;   var  arrSplit = new Array('-', '.', '/') ;   var  strYear, strMonth, strDay, strTmp ;      //如果日期为null,认为是日期   if (strDate == null)  return 1 ;      //如果长度不满足:8 -- 10,为非法日期   nLen = strDate.length ;   if (nLen 10) return 0 ;      //判断是否存在分割符,并记录分割符   cflag = "" ;   for (nIdx=0; nIdx   {       csplit = arrSplit[nIdx] ;    if (strDate.indexOf(csplit, 0) >= 0)    {        cflag = csplit ;     break ;    }   }        if ( cflag =="" ) //对没有分割符的处理   {        //如果长度8,为非法日期     if (nLen != 8)         return 0 ;              //截取日期中的年、月、日        strYear  = strDate.substr(0,4) ;     strMonth = strDate.substr(4,2) ;     strDay   = strDate.substr(6,2) ;   }   else                    //对存在分割符的处理   {         //截取日期中的年、月、日      strTmp = strDate ;        nIdx = strTmp.indexOf(cflag, 0) ;      strYear = strTmp.substr(0,nIdx) ;      strTmp  = strTmp.substr(nIdx+1, strTmp.length - nIdx - 1) ;            nIdx     = strTmp.indexOf(cflag, 0) ;      strMonth = strTmp.substr(0, nIdx) ;      strDay   = strTmp.substr(nIdx+1, strTmp.length-nIdx-1) ;            if (strMonth.length           strMonth = "0" + strMonth ;            if (strDay.length           strDay = "0" + strDay ;   }      //判断年、月、日的合法性   if (strYear  '9999' || strYear.length != 4)       return 0 ;   if (strMonth '12' || strMonth.length != 2)       return 0 ;   if (strDay   '31' || strDay.length != 2)       return 0 ;         //缺省为合法日期   return 1 ;  }//函数名:fucCheckNUM()//功能介绍:检查是否为数字//参数说明:要检查的数字//返回值:1为是数字,0为不是数字function fucCheckNUM(NUM){ var i,j,strTemp; strTemp="0123456789."; if ( NUM.length == 0) return 0; for (i=0;i {  j = strTemp.indexOf(NUM.charAt(i));  if (j==-1)  {   //说明有字符不是数字   return 0;  } } //说明是数字 return 1;}/***************************************************************************  目的: **       判断身份证件号码是否有效**  参数:**      pszId : 表示身份证号码的字符串**  返回值:**      0  : 有效**      -1 : 无效*************************************************************************/function isPersonIdValid(pszId){    var  nLen, nIndex, nRet ;    var  strTmp ;        nRet = 0 ;        /*判断身份证的长度是否为18或15位*/    nLen = pszId.length ;    if ((nLen != 15) && (nLen != 18))       return (-1) ;        /*如果长度为15位,判断其各位是否为数字*/           if (nLen == 15)    {        for (nIndex=0; nIndex        {            strTmp = pszId.charAt(nIndex) ;            if (( strTmp  '9'))            {                nRet = -1 ;                break ;            }        }    }        return (nRet) ;}/***************************************************************************  目的: **       对身份证件号码进行15位到18位的转换**  参数:**      pszId15 : 15位的身份证号码**  返回值:**      转换成18位后的身份证号码*************************************************************************/function convPersonId15To18(pszId15){    var  nIndex, nLen ;    var  nSum ;        var  pszId18 ;            var  nArrPower  = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2) ;    var  chArrCheck = new Array('1','0','X','9','8','7','6','5','4','3', '2')  ;    /*如果已经为18位,直接返回*/    nLen = pszId15.length;    if (nLen == 18)    {        pszId18 = pszId15 ;        return pszId18  ;    }        /*如果不是15位,返回错误*/    if (nLen != 15)    {        pszId18 = pszId15 ;        return pszId18  ;    }    /*准备数据*/     pszId18 = pszId15.substr(0,6) ;    pszId18 = pszId18 + "19" ;    pszId18 = pszId18 + pszId15.substr(6,9) ;         /*计算最后一位*/    nSum = 0 ;    for (nIndex=0; nIndex    {        nSum = nSum + ( parseInt(pszId18.charAt(nIndex)) * nArrPower[nIndex] ) ;    }    nIndex = nSum - (nSum / 11*11) ;        pszId18 = pszId18 + chArrCheck[nIndex] ;    return pszId18 ;}//函数名:fucCheckIP()//功能介绍:检查是否为IP//参数说明:要检查的字符串//返回值:0:不是 1:是function fucCheckIP(a) {        var va=a;  //中间有空格 if (a.indexOf(' ')!=-1) {  alert(va+":IP中有空格");  return 0; }   if (a.indexOf(".")==-1)  {  alert(va+":IP格式错误(***.***.***.***)");  return 0; } if(0 == a.indexOf(".")) { alert(va+":IP格式错误(***.***.***.***)");  return 0; } //判断a 中的“.”是否多于3个 var count = 0; var aa = a; for (var i=0;i {  var j = aa.indexOf(".");  if (j!=-1)   {   count = count+1;   //alert("count: "+count);     }  aa = aa.substring(j+1,a.length);   }  if(count>3) { alert(va+":IP格式错误(***.***.***.***)");  return 0; } if(count { alert(va+":IP格式错误(***.***.***.***)");  return 0; } var L=a.length; for(var j=0;j {  //alert("j: "+j)  var temp = a.indexOf('.');  if (temp > -1)   {    var aSub = a.substring(0,temp);   //alert("aSub:  "+aSub);     if(aSub>255)   { alert(va+":数字取值范围为0~255");    return 0;   }    if(aSub   { alert(va+":数字取值范围为0~255");    return 0;   }   if(0 == fucCheckNUM(aSub))   {     alert(va+":IP中有非数字字符");    return 0;   }  }  else  {   var aSub = a;   //alert("--aSub:  "+aSub);   if(aSub>255)   { alert(va+":数字取值范围为0~255");    return 0;   }    if(aSub   { alert(va+":数字取值范围为0~255");    return 0;   }   if(0 == fucCheckNUM(aSub))   { alert(va+":IP中有非数字字符");    return 0;   }  }  a = a.substring(temp+1,L);  } return 1;}
10-20 15:56