- 主题
- 0
- 积分
- 854
- 贝壳
- 854 个
- 性别
- 男
- 来自
- 贵州遵义
- 注册时间
- 2005-3-26
- 最后登录
- 2011-2-26
|
- <script language="JavaScript">
- <!--
-
- function newWindow(strUrl, strName, nWidth, nHeight)
- {
- var strFeature ;
- strFeature = "HEIGHT=" + nHeight + ", WIDTH=" + nWidth ;
- strFeature = strFeature + " left=0 top=0 toolbar=no,scrollbars=yes,menubar=no,resizable=yes,directories=no" ;
- objWin = window.open(strUrl, strName, strFeature) ;
- objWin.focus() ;
- }
-
-
- function openWindow(strUrl, strName, nLeft, nTop, nWidth, nHeight)
- {
- var strFeature ;
- strFeature = "HEIGHT=" + nHeight + ", WIDTH=" + nWidth + " LEFT" + nLeft + " TOP=" + nTop;
- strFeature = strFeature + " toolbar=yes,scrollbars=yes,menubar=no,resizable=yes,directories=no" ;
- objWin = window.open(strUrl, strName, strFeature) ;
- objWin.focus() ;
- }
-
-
-
- function showAlert(strMsg)
- {
- window.alert(strMsg) ;
- }
-
- function doConfirm(strMsg)
- {
- return window.confirm(strMsg) ;
- }
-
- function setFocus(objControl)
- {
- var objCtrl = eval(objControl) ;
- window.focus();
- objCtrl.focus() ;
- }
-
- function goToUrl(objContain, strUrl)
- {
- objContain.location = strUrl ;
- }
-
- function goToUrlInFrame(strFrameName, strUrl)
- {
- parent.frames[strFrameName].location = strUrl ;
- }
-
- function isTextFieldNull(txtField)
- {
- if ((txtField.value == null) || (txtField.value == ""))
- return true ;
- else
- return false ;
- }
-
- function verifyTextField(txtField, strAlert)
- {
- var bNull = false;
- bNull = isTextFieldNull(txtField) ;
- if (bNull == true)
- {
- showAlert(strAlert) ;
- setFocus(txtField) ;
- }
- return bNull ;
- }
-
- function getSelCount(objForm, strName)
- {
- var nCount = 0 ;
- var nLen = 0 ;
- var nIndex ;
- var objElement ;
- nLen = objForm.elements.length ;
- for (nIndex=0; nIndex<nLen; nIndex++)
- {
- objElement = objForm.elements[nIndex] ;
- if ((objElement.name == strName) && (objElement.checked == true))
- nCount=nCount+1 ;
- }
- return nCount ;
- }
-
- function isInteger(strValue)
- {
- var nValue ;
- //对输入参数为null的处理
- if (strValue == null)
- return false ;
- //对其他情况的处理
- nValue = parseInt(strValue) ;
- if ( isNaN(nValue) )
- return false ;
- return true ;
- }
-
- function isFloat(strValue)
- {
- var fValue ;
- //对输入参数为null的处理
- if (strValue == null)
- return false ;
- //对其他情况的处理
- fValue = parseFloat(strValue) ;
- if ( isNaN(fValue) )
- return false ;
- return true ;
- }
-
- function compInteger(strValue1, strValue2)
- {
- var nValue1, nValue2 ;
- //判断第一个参数的有效性
- if (isInteger(strValue1) == false)
- return -1 ;
- //判断第二个参数的有效性
- if (isInteger(strValue2) == false)
- return -2 ;
- //转换后比较
- nValue1 = parseInt(strValue1) ;
- nValue2 = parseInt(strValue2) ;
- if (nValue1 > nValue2)
- return 1 ;
- if (nValue1 == nValue2)
- return 0 ;
- if (nValue1 < nValue2)
- return 2 ;
- }
-
- function compFloat(strValue1, strValue2)
- {
- var fValue1, fValue2 ;
- //判断第一个参数的有效性
- if (isFloat(strValue1) == false)
- return -1 ;
- //判断第二个参数的有效性
- if (isFloat(strValue2) == false)
- return -2 ;
- //转换后比较
- fValue1 = parseFloat(strValue1) ;
- fValue2 = parseFloat(strValue2) ;
- if (fValue1 > fValue2)
- return 1 ;
- if (fValue1 == fValue2)
- return 0 ;
- if (fValue1 < fValue2)
- return 2 ;
- }
- //函数名: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 < 8 || nLen > 10) return 0 ;
-
- //判断是否存在分割符,并记录分割符
- cflag = "" ;
- for (nIdx=0; nIdx<arrSplit.length; 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 < 2)
- strMonth = "0" + strMonth ;
-
- if (strDay.length < 2)
- strDay = "0" + strDay ;
- }
-
- //判断年、月、日的合法性
- if (strYear < '1900' || strYear > '9999' || strYear.length != 4)
- return 0 ;
- if (strMonth < '00' || strMonth > '12' || strMonth.length != 2)
- return 0 ;
- if (strDay < '00' || 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<NUM.length;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<nLen; nIndex++)
- {
- strTmp = pszId.charAt(nIndex) ;
- if (( strTmp < '0') || (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<17; nIndex++)
- {
- nSum = nSum + ( parseInt(pszId18.charAt(nIndex)) * nArrPower[nIndex] ) ;
- }
- nIndex = nSum - (nSum / 11*11) ;
-
- pszId18 = pszId18 + chArrCheck[nIndex] ;
- return pszId18 ;
- }
- function changeFocus_onkeyup()
- {
- var key ;
-
- key = window.event.keyCode ;
- if (key == 0xD)
- {
- if ( window.event.srcElement.type == "text" ||
- window.event.srcElement.type == "checkbox" ||
- window.event.srcElement.type == "radio" ||
- window.event.srcElement.type == "file" ||
- window.event.srcElement.type == "select-one" ||
- window.event.srcElement.type == "select-multiple"
- )
- window.event.keyCode = 9 ;
- }
- }
- function check(field,ncount)
- {
- var regC = /[^ -~]+/g;
- var regE = /\D+/g;
- var str = field.value;
- var ncount2=ncount*2;
-
-
-
- if (regC.test(str)){
- field.value = field.value.substr(0,ncount);
- }
-
- if(regE.test(str)){
- field.value = field.value.substr(0,ncount2);
- }
- }
- //取得str长度
- function getStringLength(str)
- {
- var num=0;
- if (str!="")
- {
- var i;
- var s;
- for(i=0;i<str.length;i++)
- {
- s=str.charCodeAt(i);
- if(s-128<0) num=num+1;
- else num=num+2;
- }
- }
- return num;
- }
- //函数名: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<a.length;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<3)
- { alert(va+":IP格式错误(***.***.***.***)");
- return 0;
- }
- var L=a.length;
- for(var j=0;j<4;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<0)
- { 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<0)
- { alert(va+":数字取值范围为0~255");
- return 0;
- }
- if(0 == fucCheckNUM(aSub))
- { alert(va+":IP中有非数字字符");
- return 0;
- }
- }
- a = a.substring(temp+1,L);
- }
- return 1;
- }
- function checkAreaIP(formname,ctrlname)
- {
- var obj=eval("document."+formname+"."+ctrlname);
- var str=obj.value;
- var index;
- while(1)
- {
- index=str.indexOf("\n");
- if(-1!=index)
- {
- var tmp = str.substring(0,index-1);
- str=str.substring(index+1,str.length);
- tmp=tmp.trim();
- if(tmp=="")
- continue;
- if(!checkIP(tmp))
- return false;
- }
- else
- {
- var tmp = str.substring(0,str.length);
- tmp=tmp.trim();
- if(tmp=="")
- return true;
- if(!checkIP(tmp))
- return false;
- break;
- }
- }
- //alert(fucCheckIP(obj.value));
- return true;
- }
- function checkIP(ip)
- {
- var str=ip;
- var index=str.indexOf("-");
- if(-1!=index)
- {
- var beginip= str.substring(0,index);
- var engip=str.substring(index+1,str.length);
- if((1!=fucCheckIP(beginip))||(1!=fucCheckIP(engip)))
- return false;
- else
- {
- //判断起始ip是否小于等于终止ip
- if(1==compareIP(beginip,engip))
- return true;
- else
- return false;
- }
- }
- else
- {
- if(fucCheckIP(ip))
- return true;
- else
- return false;
- }
- }
- function compareIP(beginip,endip)
- {
- var bgn=beginip;
- var end=endip;
- if(bgn==end)
- return true;
- //分解每个域作判断
- for(var i=0;i<4;i++)
- {
- var index1=bgn.indexOf(".");
- var index2=end.indexOf(".");
- var tmp1;
- var tmp2;
- if(-1!=index1)
- {
- tmp1 = bgn.substring(0,index1);
- tmp2 = end.substring(0,index2);
- bgn=bgn.substring(index1+1,bgn.length);
- end=end.substring(index2+1,end.length);
-
- }
- else
- {
- tmp1=bgn.substring(0,bgn.length);
- tmp2=end.substring(0,end.length);
- }
- alert("tmp1:"+tmp1+"tmp2:"+tmp2+"compare"+compInteger(tmp1,tmp2));
- if(1==compInteger(tmp1,tmp2))
- {
- alert(beginip+"-"+endip+":起始ip要小于等于终止ip");
- return false
- }
- }
- return true;
- }
- function LTrim(str)
- {
- var whitespace = new String(" \t\n\r");
- var s = new String(str);
-
- if (whitespace.indexOf(s.charAt(0)) != -1)
- {
- var j=0, i = s.length;
- while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
- {
- j++;
- }
- s = s.substring(j, i);
- }
- return s;
- }
- function RTrim(str)
- {
- var whitespace = new String(" \t\n\r");
- var s = new String(str);
- if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
- {
- var i = s.length - 1;
- while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
- {
- i--;
- }
- s = s.substring(0, i+1);
- }
- return s;
- }
- // create the prototype on the String object
- String.prototype.trim = function() {
- // skip leading and trailing whitespace
- // and return everything in between
- //var x=this;
- // x=x.replace(/^\s*(.*)/, "$1");
- // x=x.replace(/(.*?)\s*$/, "$1");
- // return x;
- return RTrim(LTrim(str));
- }
-
- //-->
- </script>
复制代码 |
|