<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-0  評論-3  文章-28  trackbacks-0
    正則表達式驗證是否是地址
    <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>
    驗證是否是地址結束

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

    類型定義:

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

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

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

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

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

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

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

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

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


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

    <!-- ---------------------------------------------------------------------
    //
    //  File:  form.htc
    //  version:    1.0
    //  Description:客戶端表單驗證.
    //  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++)
        {
            //是否需要驗證
            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("該文本框為必輸字段");
         }
         eles[i].focus();    
         event.returnValue=false;    
         return false;  
        }
       }  
       switch(sType)
       {
                    //整數
        case "int":
         if(!checkInt(eles[i]))
         {
          event.returnValue=false;
          return false;
         }
         break;
        //小數
        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;
        //復選按鈕
        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;
    }

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

    /***檢查是否為小數***/
    function checkFloat(ele)
    {
        if(isNaN(ele.value))
        {
      alert("請輸入有效數字");
      ele.focus();
      return false;
        }
    else
    {
            if(ele.decimalLen!=null && !checkDecimal(ele.value,ele.decimalLen))
         {
       alert("您輸入的"+convertNullToSpace(ele.objName)+"值小數位最多為"+ele.decimalLen);
       ele.focus();    
       return false;
            }
      if(ele.maxInput!=null && !isNaN(ele.maxInput))
       if(parseInt(ele.maxInput)<parseInt(ele.value))
       {
        alert("您輸入的"+ convertNullToSpace(ele.objName)+"值應該小于"+ele.maxInput);          
        ele.focus();
        return false;
       }      
      if(ele.minInput!=null && !isNaN(ele.minInput))
       if(parseInt(ele.minInput)>parseInt(ele.value))
       {
        alert("您輸入的"+ convertNullToSpace(ele.objName)+"值應該大于"+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)+"最大長度為"+ele.stringLen);
       ele.focus();    
       return false;
      }
    }
    return true;
    }
    /***檢查是否為日期格式***/
    function checkDate(ele)
    {
    if(!isDate(ele.value))
    {
      alert("請輸入有效日期(yyyy-mm-dd)");
      ele.focus();
      return false;
        }
    return true;
    }

    /***檢查是否為電子郵箱***/
    function checkEmail(ele)
    {
    if(!isEmail(ele.value))
    {
      alert("請輸入有效郵箱");
      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("請選擇"+convertNullToSpace(ele.objName));
       ele.focus();    
       return false;
      }
    }
    return true;
    }
    /***檢查復選按鈕是否需要選擇***/
    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+"項");
       ele.focus();    
       return false;
      }
    }
    if(ele.maxSelect!=null && !isNaN(ele.maxSelect))
    {
      if(selectCount>parseInt(ele.maxSelect))
      {
       alert(convertNullToSpace(ele.objName)+"至多選擇"+ele.maxSelect+"項");
       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("請選擇"+convertNullToSpace(ele.objName));
       ele.focus();    
       return false;
      }
    }
    return true;
    }
    /***檢查列表框的選擇項數***/
    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+"項");
       ele.focus();    
       return false;
      }
    }
    if(ele.maxSelect!=null && !isNaN(ele.maxSelect))
    {
      if(selectCount>parseInt(ele.maxSelect))
      {
       alert(convertNullToSpace(ele.objName)+"至多選擇"+ele.maxSelect+"項");
       ele.focus();    
       return false;
      }
    }
    return true;
    }
    /***判斷是否為整數***/
    function isInt(s)
    {
    var patrn=/^[-,+]{0,1}[0-9]{0,}$/;
    if (!patrn.exec(s))
       return false;
    return true;
    }
    /***判斷是否為數字***/
    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轉化為空格,用于顯示對象名稱***/
    function convertNullToSpace(paramValue)
    {
      if(paramValue==null)
        return "";
      else
        return paramValue;
    }
    /***檢查小數位數***/
    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 閱讀(187) 評論(0)  編輯  收藏 所屬分類: java基礎
    主站蜘蛛池模板: 凹凸精品视频分类国产品免费| 久久青青草原亚洲av无码app | 国产va在线观看免费| 久久精品国产亚洲AV电影网| 亚洲一区二区在线免费观看| 久久精品国产精品亚洲人人| 日韩a在线观看免费观看| 亚洲黄色免费在线观看| 久青草视频97国内免费影视| 色九月亚洲综合网| 一本色道久久综合亚洲精品蜜桃冫| 亚洲AV成人一区二区三区AV| 国产成人精品日本亚洲专区61 | 亚洲av无码一区二区三区天堂古代| 亚洲熟妇av一区二区三区 | 一个人看的在线免费视频| 亚洲人成人伊人成综合网无码| 91亚洲导航深夜福利| 亚洲成色在线综合网站| 国产av无码专区亚洲国产精品| 国产一区二区三区无码免费| 成年人视频在线观看免费| 日韩视频在线精品视频免费观看| 99久久人妻精品免费一区| 免费观看久久精彩视频| 成在人线av无码免费高潮喷水| 成人免费一区二区三区| 久久精品成人免费观看97| 国产免费一区二区三区免费视频 | 日本免费v片一二三区| 成人免费毛片内射美女APP| 国国内清清草原免费视频99| 16女性下面无遮挡免费| 最近中文字幕电影大全免费版 | 亚洲综合AV在线在线播放| 国产国拍亚洲精品福利 | 婷婷亚洲综合五月天小说| 亚洲VA中文字幕不卡无码| 亚洲国产精品国自产拍AV| 久久久亚洲精品国产| 久久精品国产亚洲77777|