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