隨筆-0  評(píng)論-3  文章-28  trackbacks-0
          正則表達(dá)式驗(yàn)證是否是地址
          <script language=javascript>
          function check()
          {

          //alert("IP地址輸入非法!");
          var pattern=/^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
          flag_ip=pattern.test(document.all.ip.value);
          if(!flag_ip)
          {
          alert("IP地址輸入非法!");
          document.all.ip.focus();
          return false;
          }
          }
          </script>
          驗(yàn)證是否是地址結(jié)束

          ============================================================================
          表單定義:
          <form name="form1" action="" style="behavior:url('form.htc')"></form>
          客戶端表單驗(yàn)證是由表單的onSubmit事件觸發(fā),由于表單的onSubmit事件只能由提交按鈕觸發(fā),
          所以如果要用函數(shù)提交表單form1.submit(),則必須同時(shí)執(zhí)行form1.onSubmit()。

          類型定義:

          一、整型(int)
          定義:
            valueType="int"
          屬性:
            objName   對(duì)象名稱(字符串)
            mustInput 必輸項(xiàng)(true/false)
            minInput  最小值(數(shù)字)
            maxInput  最大值(數(shù)字)
          舉例:
            <input type="text" name="test" valueType="int" objName="總載重噸" mustInput="true" maxInput="10000">

          二、浮點(diǎn)型(float)
          定義:
            valueType="float"
          屬性:
            objName   對(duì)象名稱(字符串)
            mustInput 必輸項(xiàng)(true/false)
            minInput  最小值(數(shù)字)
            maxInput  最大值(數(shù)字)
            decimalLen小數(shù)位數(shù)(數(shù)字)
          舉例:
            <input type="text" name="test" valueType="float" objName="運(yùn)價(jià)" mustInput="true" maxInput="10000.50" decimalLen="2">

          三、字符串(string)
          定義:
            valueType="string"
          屬性:
            objName   對(duì)象名稱(字符串)
            mustInput 必輸項(xiàng)(true/false)
            stringLen 字符串長(zhǎng)度(數(shù)字)
          舉例:
            <input type="text" name="test" valueType="string" objName="英文船名" mustInput="true" stringLen="100">

          四、日期(date)
          定義:
            valueType="date"
          屬性:
            objName   對(duì)象名稱(字符串)
            mustInput 必輸項(xiàng)(true/false)
          舉例:
            <input type="text" name="test" valueType="date" objName="開始日期" mustInput="true">
          備注:
            日期現(xiàn)在只能校驗(yàn)的格式為(yyyy-mm-dd)

          五、郵箱(email)
          定義:
            valueType="email"
          屬性:
            objName   對(duì)象名稱(字符串)
            mustInput 必輸項(xiàng)(true/false)
          舉例:
            <input type="text" name="test" valueType="email" objName="郵箱" mustInput="true">

          六、單選(radio)
          定義:
            valueType="radio"
          屬性:
            objName   對(duì)象名稱(字符串)
            mustSelect 必輸項(xiàng)(true/false)
          舉例:
            <input type="radio" name="test" valueType="radio" objName="租船方式" mustSelect="true">
          備注:
            對(duì)于同一組單選按鈕,只需要定義第一個(gè)即可。

          七、復(fù)選(checkbox)
          定義:
            valueType="checkbox"
          屬性:
            objName   對(duì)象名稱(字符串)
            minSelect 最小選擇數(shù)(數(shù)字)
            maxSelect 最大選擇數(shù)(數(shù)字)
          舉例:
            <input type="checkbox" name="test" valueType="checkbox" objName="愛好" minSelect="2" maxSelect="5">
          備注:
            對(duì)于同一組復(fù)選按鈕,只需要定義第一個(gè)即可。

          八、下拉列表框(select)
          定義:
            valueType="select"
          屬性:
            objName   對(duì)象名稱(字符串)
            mustSelect 必輸項(xiàng)(true/false)
          舉例:
            <select name="test" valueType="select" objName="租船方式" mustSelect="true">

          九、列表框(list)
          定義:
            valueType="list"
          屬性:
            objName   對(duì)象名稱(字符串)
            minSelect 最小選擇數(shù)(數(shù)字)
            maxSelect 最大選擇數(shù)(數(shù)字)
          舉例:
            <select name="test" valueType="list" objName="愛好" minSelect="2" maxSelect="5">


          /////////////////////////////////////////////////////////////////////////////////////////////////////////

          <!-- ---------------------------------------------------------------------
          //
          //  File:  form.htc
          //  version:    1.0
          //  Description:客戶端表單驗(yàn)證.
          //  author:     伍子
          //
          //-------------------------------------------------------------------- -->
          <PUBLIC:COMPONENT id="formCheck" urn="wwb:formCheck">
          <PUBLIC:ATTACH EVENT="onsubmit" ONEVENT="checkForm()"/>
          <script language="JavaScript">
          function checkForm()
          {
              var oForm=event.srcElement;
          var eles = oForm.elements;
              //遍歷所有表元素
          for(var i=0;i<eles.length;i++)
              {
                  //是否需要驗(yàn)證
                  var sType=eles[i].valueType;
            if(sType)
                  {
             if(eles[i].mustInput!=null && eles[i].mustInput)
             {
              if(trim(eles[i].value)=="")
              {
               if(eles[i].objName!=null)
               {
                alert(eles[i].objName+"不可以為空");
               }
               else
               {
                alert("該文本框?yàn)楸剌斪侄?);
               }
               eles[i].focus();    
               event.returnValue=false;    
               return false;  
              }
             }  
             switch(sType)
             {
                          //整數(shù)
              case "int":
               if(!checkInt(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
              //小數(shù)
              case "float":
               if(!checkFloat(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
              //字符串
              case "string":
               if(!checkString(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
              //日期
              case "date":
               if(!checkDate(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
              //郵件
              case "email":
               if(!checkEmail(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
              //單選按鈕
              case "radio":
               if(!checkRadio(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
              //復(fù)選按鈕
              case "checkbox":
               if(!checkBox(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
              //下拉列表框
              case "select":
               if(!checkSelect(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
              //列表框
              case "list":
               if(!checkList(eles[i]))
               {
                event.returnValue=false;
                return false;
               }
               break;
                      }
                  }
              }
          event.returnValue=true;
          return true;
          }

          /***檢查是否為整數(shù)***/
          function checkInt(ele)
          {
          if(!isInt(ele.value))
          {
            alert("請(qǐng)輸入有效整數(shù)");
            ele.focus();
            return false;
          }
          else
          {
            if(ele.maxInput!=null && !isNaN(ele.maxInput))
             if(parseInt(ele.maxInput)<parseInt(ele.value))
             {
              alert("您輸入的"+ convertNullToSpace(ele.objName)+"值應(yīng)該小于"+ele.maxInput);        
              ele.focus();
              return false;
             }      
            if(ele.minInput!=null && !isNaN(ele.minInput))
             if(parseInt(ele.minInput)>parseInt(ele.value))
             {
              alert("您輸入的"+ convertNullToSpace(ele.objName)+"值應(yīng)該大于"+ele.minInput);
              ele.focus();
              return false;
             }  
          }
          return true;
          }

          /***檢查是否為小數(shù)***/
          function checkFloat(ele)
          {
              if(isNaN(ele.value))
              {
            alert("請(qǐng)輸入有效數(shù)字");
            ele.focus();
            return false;
              }
          else
          {
                  if(ele.decimalLen!=null && !checkDecimal(ele.value,ele.decimalLen))
               {
             alert("您輸入的"+convertNullToSpace(ele.objName)+"值小數(shù)位最多為"+ele.decimalLen);
             ele.focus();    
             return false;
                  }
            if(ele.maxInput!=null && !isNaN(ele.maxInput))
             if(parseInt(ele.maxInput)<parseInt(ele.value))
             {
              alert("您輸入的"+ convertNullToSpace(ele.objName)+"值應(yīng)該小于"+ele.maxInput);          
              ele.focus();
              return false;
             }      
            if(ele.minInput!=null && !isNaN(ele.minInput))
             if(parseInt(ele.minInput)>parseInt(ele.value))
             {
              alert("您輸入的"+ convertNullToSpace(ele.objName)+"值應(yīng)該大于"+ele.minInput);
              ele.focus();
              return false;
             }  
          }
          return true;
          }

          /***檢查是否為字符串***/
          function checkString(ele)
          {
          if(ele.stringLen!=null && !isNaN(ele.stringLen))
          {
            var value=new String(ele.value);
            if(value.length>parseInt(ele.stringLen))
            {
             alert("您輸入的"+convertNullToSpace(ele.objName)+"最大長(zhǎng)度為"+ele.stringLen);
             ele.focus();    
             return false;
            }
          }
          return true;
          }
          /***檢查是否為日期格式***/
          function checkDate(ele)
          {
          if(!isDate(ele.value))
          {
            alert("請(qǐng)輸入有效日期(yyyy-mm-dd)");
            ele.focus();
            return false;
              }
          return true;
          }

          /***檢查是否為電子郵箱***/
          function checkEmail(ele)
          {
          if(!isEmail(ele.value))
          {
            alert("請(qǐng)輸入有效郵箱");
            ele.focus();
            return false;
              }
          return true;
          }
          /***檢查單選按鈕是否需要選擇***/
          function checkRadio(ele)
          {
          //var rads = document.getElementsByName(ele.name);
              eval("var rads="+name+"."+ele.name);
          var selectCount=0;
          for(var i=0;i<rads.length;i++)
              {
            if(rads[i].checked)
                  {
             selectCount++;
                  }
              }

          if(ele.mustSelect!=null && ele.mustSelect)
          {
            if(selectCount==0)
            {
             alert("請(qǐng)選擇"+convertNullToSpace(ele.objName));
             ele.focus();    
             return false;
            }
          }
          return true;
          }
          /***檢查復(fù)選按鈕是否需要選擇***/
          function checkBox(ele)
          {
          //var rads = document.getElementsByName(ele.name);
              eval("var chks="+name+"."+ele.name);
          var selectCount=0;
          for(var i=0;i<chks.length;i++)
              {
            if(chks[i].checked)
                  {
             selectCount++;
                  }
              }
          if(ele.minSelect!=null && !isNaN(ele.minSelect))
          {
            if(selectCount<parseInt(ele.minSelect))
            {
             alert(convertNullToSpace(ele.objName)+"至少選擇"+ele.minSelect+"項(xiàng)");
             ele.focus();    
             return false;
            }
          }
          if(ele.maxSelect!=null && !isNaN(ele.maxSelect))
          {
            if(selectCount>parseInt(ele.maxSelect))
            {
             alert(convertNullToSpace(ele.objName)+"至多選擇"+ele.maxSelect+"項(xiàng)");
             ele.focus();    
             return false;
            }
          }
          return true;
          }
          /***檢查下拉列表框是否需要選擇***/
          function checkSelect(ele)
          {
          //var rads = document.getElementsByName(ele.name);
          if(ele.mustSelect!=null && ele.mustSelect)
          {
            if(ele.selectedIndex==0)
            {
             alert("請(qǐng)選擇"+convertNullToSpace(ele.objName));
             ele.focus();    
             return false;
            }
          }
          return true;
          }
          /***檢查列表框的選擇項(xiàng)數(shù)***/
          function checkList(ele)
          {
          //var rads = document.getElementsByName(ele.name);
              var selectCount=0;
          for(var i=0;i<ele.options.length;i++)
              {
                  if(ele.options[i].selected)
                  {
                      selectCount++;
                  }
              }
          alert(selectCount);
          if(ele.minSelect!=null && !isNaN(ele.minSelect))
          {
            if(selectCount<parseInt(ele.minSelect))
            {
             alert(convertNullToSpace(ele.objName)+"至少選擇"+ele.minSelect+"項(xiàng)");
             ele.focus();    
             return false;
            }
          }
          if(ele.maxSelect!=null && !isNaN(ele.maxSelect))
          {
            if(selectCount>parseInt(ele.maxSelect))
            {
             alert(convertNullToSpace(ele.objName)+"至多選擇"+ele.maxSelect+"項(xiàng)");
             ele.focus();    
             return false;
            }
          }
          return true;
          }
          /***判斷是否為整數(shù)***/
          function isInt(s)
          {
          var patrn=/^[-,+]{0,1}[0-9]{0,}$/;
          if (!patrn.exec(s))
             return false;
          return true;
          }
          /***判斷是否為數(shù)字***/
          function isNumber(s)
          {
          var patrn=/^[-,+]{0,1}[0-9]{0,}[.]{0,1}[0-9]{0,}$/;
          if (!patrn.exec(s))
             return false;
          return true;
          }
          /***判斷是否為日期***/
          function isDate(str)
          {
          var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
          if(r==null)
          {
            return false;
          }
          var d= new Date(r[1], r[3]-1, r[4]);
          if(!(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]))
          {  
            return false;
          }
          return true;
          }
          /***判斷是否為郵箱***/
          function isEmail(str)
          {
          if(str.match(/[\w-]+@{1}[\w-]+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig)!=str)
            return false;
          else
            return true;
          }
          /***將NULL轉(zhuǎn)化為空格,用于顯示對(duì)象名稱***/
          function convertNullToSpace(paramValue)
          {
            if(paramValue==null)
              return "";
            else
              return paramValue;
          }
          /***檢查小數(shù)位數(shù)***/
          function checkDecimal(num,decimalLen)
          {
            var len = decimalLen*1+1;
            if(num.indexOf('.')>0)
            {
              num=num.substr(num.indexOf('.')+1,num.length-1);  
              if ((num.length)<len)
          {
                return true;
              }
          else
          {
                return false;
              }
            }
            return true;
          }
          /***去除空格***/
          function trim(str)
          {
          if (str.length > 0)
          {
            while ((str.substring(0,1) == " ") && (str.length > 0))
            {
             str = str.substring(1,str.length);
            }
            while (str.substring(str.length-1,str.length) == " ")
            {
             str = str.substring(0,str.length-1);
            }
          }
          return str;
          }
          </script>
          </PUBLIC:COMPONENT>
          posted on 2007-12-11 11:31 閱讀(183) 評(píng)論(0)  編輯  收藏 所屬分類: java基礎(chǔ)
          主站蜘蛛池模板: 饶平县| 福州市| 三江| 雅江县| 锦屏县| 略阳县| 彩票| 梅州市| 汉源县| 博客| 东山县| 嘉善县| 曲沃县| 玛纳斯县| 泸水县| 天全县| 本溪市| 伽师县| 滨海县| 凤庆县| 冀州市| 信丰县| 澄迈县| 城市| 温州市| 鲁山县| 三亚市| 梁平县| 长顺县| 宜君县| 香格里拉县| 龙海市| 湖口县| 安福县| 政和县| 正蓝旗| 女性| 恩平市| 尤溪县| 板桥市| 西畴县|