JavaScript驗證表單大全

          1. 長度限制
          <script>
          function test() 
          {
          if(document.a.b.value.length>50)
          {
          alert("不能超過50個字符!");
          document.a.b.focus();
          return false;
          }
          }
          </script>
          <form name=a onsubmit="return test()">
          <textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
          <input type="submit" name="Submit" value="check">
          </form> 

          2. 只能是漢字 
          <input onkeyup="value="/oblog/value.replace(/[^"u4E00-"u9FA5]/g,'')">

          3." 只能是英文
          <script language=javascript>
          function onlyEng()
          {
          if(!(event.keyCode>=65&&event.keyCode<=90))
          event.returnvalue=false;
          }
          </script>

          <input onkeydown="onlyEng();">

          4. 只能是數字
          <script language=javascript>
          function onlyNum()
          {
          if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
          //考慮小鍵盤上的數字鍵
          event.returnvalue=false;
          }
          </script>

          <input onkeydown="onlyNum();">
          或者

          <input type="text" onkeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;"/>
          或者:
          <input   onkeyup="if(event.keyCode   !=37   &&   event.keyCode   !=   39)   value=value.replace(/"D/g,'');"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/"D/g,''))"> 
          5. 只能是英文字符和數字
          <input onkeyup="value="/oblog/value.replace(/["W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^"d]/g,''))">

          6. 驗證油箱格式
          <SCRIPT LANGUAGE=javascript RUNAT=Server>
          function isEmail(strEmail) {
          if (strEmail.search(/^"w+((-"w+)|("."w+))*"@[A-Za-z0-9]+((".|-)[A-Za-z0-9]+)*".[A-Za-z0-9]+$/) != -1)
          return true;
          else
          alert("oh");
          }
          </SCRIPT>
          <input type=text onblur=isEmail(this.value)>

          7. 屏蔽關鍵字(這里屏蔽***和****)
          <script language="javascript1.2">
          function test() {
          if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){
          alert(":)");
          a.b.focus();
          return false;}
          }
          </script>
          <form name=a onsubmit="return test()">
          <input type=text name=b>
          <input type="submit" name="Submit" value="check">
          </form>

          8. 兩次輸入密碼是否相同
          <FORM METHOD=POST ACTION="">
          <input type="password" id="input1">
          <input type="password" id="input2">
          <input type="button" value="test" onclick="check()">
          </FORM>
          <script>
          function check()

          with(document.all){
          if(input1.value!=input2.value)
          {
          alert("false")
          input1.value = "";
          input2.value = "";
          }
          else document.forms[0].submit();
          }
          }
          </script>
          夠了吧 :)
          屏蔽右鍵 很酷 
          oncontextmenu="return false" ondragstart="return false" onselectstart="return false"
          加在body中




          2.1      表單項不能為空

          <script      language="javascript">
          <!--
          function      CheckForm()
          {  
          if      (document.form.name.value.length      ==      0)      {  
          alert("請輸入您姓名!");
          document.form.name.focus();
          return      false;
          }
          return      true;
          }
          -->
          </script>

          2.2      比較兩個表單項的值是否相同

          <script      language="javascript">
          <!--
          function      CheckForm()
          if      (document.form.PWD.value      !=      document.form.PWD_Again.value)      {  
          alert("您兩次輸入的密碼不一樣!請重新輸入.");
          document.ADDUser.PWD.focus();
          return      false;
          }
          return      true;
          }
          -->
          </script>

          2.3      表單項只能為數字和"_",用于電話/銀行帳號驗證上,可擴展到域名注冊等

          <script      language="javascript">
          <!--
          function      isNumber(String)
          {  
          var      Letters      =      "1234567890-";      //可以自己增加可輸入值
          var      i;
          var      c;
          if(String.charAt(      0      )=='-')
          return      false;
          if(      String.charAt(      String.length      -      1      )      ==      '-'      )
          return      false;
          for(      i      =      0;      i      <      String.length;      i      ++      )
          {  
          c      =      String.charAt(      i      );
          if      (Letters.indexOf(      c      )      <      0)
          return      false;
          }
          return      true;
          }
          function      CheckForm()
          {  
          if(!      isNumber(document.form.TEL.value))      {  
          alert("您的電話號碼不合法!");
          document.form.TEL.focus();
          return      false;
          }
          return      true;
          }
          -->
          </script>


          2.4      表單項輸入數值/長度限定

          <script      language="javascript">
          <!--
          function      CheckForm()  
          {  
          if      (document.form.count.value      >      100      ||      document.form.count.value      <      1)
          {  
          alert("輸入數值不能小于零大于100!");
          document.form.count.focus();
          return      false;
          }
          if      (document.form.MESSAGE.value.length<10)
          {  
          alert("輸入文字小于10!");
          document.form.MESSAGE.focus();
          return      false;
          }
          return      true;
          }
          //-->
          </script>

          2.5      中文/英文/數字/郵件地址合法性判斷

          <SCRIPT      LANGUAGE="javascript">
          <!--

          function      isEnglish(name)      //英文值檢測
          {  
          if(name.length      ==      0)
          return      false;
          for(i      =      0;      i      <      name.length;      i++)      {  
          if(name.charCodeAt(i)      >      128)
          return      false;
          }
          return      true;
          }

          function      isChinese(name)      //中文值檢測
          {  
          if(name.length      ==      0)
          return      false;
          for(i      =      0;      i      <      name.length;      i++)      {  
          if(name.charCodeAt(i)      >      128)
          return      true;
          }
          return      false;
          }

          function      isMail(name)      //      E-mail值檢測
          {  
          if(!      isEnglish(name))
          return      false;
          i      =      name.indexOf("      at      ");
          j      =      name      dot      lastIndexOf("      at      ");
          if(i      ==      -1)
          return      false;
          if(i      !=      j)
          return      false;
          if(i      ==      name      dot      length)
          return      false;
          return      true;
          }

          function      isNumber(name)      //數值檢測
          {  
          if(name.length      ==      0)
          return      false;
          for(i      =      0;      i      <      name.length;      i++)      {  
          if(name.charAt(i)      <      "0"      ||      name.charAt(i)      >      "9")
          return      false;
          }
          return      true;
          }

          function      CheckForm()
          {  
          if(!      isMail(form.Email.value))      {  
          alert("您的電子郵件不合法!");
          form.Email.focus();
          return      false;
          }
          if(!      isEnglish(form.name.value))      {  
          alert("英文名不合法!");
          form.name.focus();
          return      false;
          }
          if(!      isChinese(form.cnname.value))      {  
          alert("中文名不合法!");
          form.cnname.focus();
          return      false;
          }
          if(!      isNumber(form.PublicZipCode.value))      {  
          alert("郵政編碼不合法!");
          form.PublicZipCode.focus();
          return      false;
          }
          return      true;
          }
          //-->
          </SCRIPT>

          2.6      限定表單項不能輸入的字符

          <script      language="javascript">
          <!--

          function      contain(str,charset)//      字符串包含測試函數
          {  
          var      i;
          for(i=0;i<charset.length;i++)
          if(str.indexOf(charset.charAt(i))>=0)
          return      true;
          return      false;
          }

          function      CheckForm()
          {  
          if      ((contain(document.form.NAME.value,      "%"(")><"))      ||      (contain(document.form.MESSAGE.value,      "%"(")><")))
          {  
          alert("輸入了非法字符");
          document.form.NAME.focus();
          return      false;
          }
          return      true;
          }
          //-->
          </script>  

          1. 檢查一段字符串是否全由數字組成       
          ---------------------------------------       
          <script language="Javascript"><!--           
          function checkNum(str){return str.match(/"D/)==null}           
          alert(checkNum("1232142141"))           
          alert(checkNum("123214214a1"))           
          // --></script>         
                
          2. 怎么判斷是否是字符         
          ---------------------------------------       
          if (/[^"x00-"xff]/g.test(s)) alert("含有漢字");          
          else alert("全是字符");      
                     
          3. 怎么判斷是否含有漢字        
          ---------------------------------------        
          if (escape(str).indexOf("%u")!=-1) alert("含有漢字");         
          else alert("全是字符");           
              
          4. 郵箱格式驗證    
          ---------------------------------------      
          //函數名:chkemail     
          //功能介紹:檢查是否為Email Address     
          //參數說明:要檢查的字符串     
          //返回值:0:不是 1:是     
          function chkemail(a)     
          { var i=a.length;     
          var temp = a.indexOf('@');     
          var tempd = a.indexOf('.');     
          if (temp > 1) {     
          if ((i-temp) > 3){     
          if ((i-tempd)>0){     
          return 1;     
          }     
              
          }     
          }     
          return 0;     
          }     
              
          5. 數字格式驗證    
          ---------------------------------------      
          //函數名: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;     
          }     
              
          6. 電話號碼格式驗證    
          ---------------------------------------      
          //函數名:fucCheckTEL     
          //功能介紹:檢查是否為電話號碼     
          //參數說明:要檢查的字符串     
          //返回值:1為是合法,0為不合法     
          function fucCheckTEL(TEL)     
          {     
          var i,j,strTemp;     
          strTemp="0123456789-()# ";     
          for (i=0;i<TEL.length;i++)     
          {     
          j=strTemp.indexOf(TEL.charAt(i));     
          if (j==-1)     
          {     
          //說明有字符不合法     
          return 0;     
          }     
          }     
          //說明合法     
          return 1;     
          }    
             
          7. 判斷輸入是否為中文的函數   
          ---------------------------------------      
          function ischinese(s){   
          var ret=true;   
          for(var i=0;i<s.length;i++)   
          ret=ret && (s.charCodeAt(i)>=10000);   
          return ret;   
          }    
             
          8. 綜合的判斷用戶輸入的合法性的函數  
          ---------------------------------------      
          <script language="javascript">  
          //限制輸入字符的位數開始  
          //m是用戶輸入,n是要限制的位數  
          function issmall(m,n)  
          {  
          if ((m<n) && (m>0))  
                {  
                return(false);  
                }  
          else  
          {return(true);}  
          }  
            
          9. 判斷密碼是否輸入一致  
          ---------------------------------------      
          function issame(str1,str2)  
          {  
          if (str1==str2)  
          {return(true);}  
          else  
          {return(false);}  
          }  
            
          10. 判斷用戶名是否為數字字母下滑線 
          ---------------------------------------      
          function notchinese(str){ 
          var reg=/[^A-Za-z0-9_]/g 
                  if (reg.test(str)){ 
                  return (false); 
                  }else{ 
          return(true);        } 


          11. form文本域的通用校驗函數
          ---------------------------------------      
          作用:檢測所有必須非空的input文本,比如姓名,賬號,郵件地址等等。
          該校驗現在只針對文本域,如果要針對form里面的其他域對象,可以改變判斷條件。

          使用方法:在要檢測的文本域中加入title文字。文字是在提示信息,你要提示給用戶的該字段的中文名。比如要檢測用戶名
          html如下<input name="txt_1" title="姓名">,當然,最好用可視化工具比如dreamweaver什么的來編輯域。
          如果要檢測數字類型數據的話,再把域的id統一為sz.
          javascript判斷日期類型比較麻煩,所以就沒有做日期類型校驗的程序了.高手可以補充。

          程序比較草,只是提供一個思路。拋磚引玉! :)
          哦,對了,函數調用方法:< form      onsubmit="return dovalidate()">

          function dovalidate()
          {
          fm=document.forms[0] //只檢測一個form,如果是多個可以改變判斷條件
                  for(i=0;i<fm.length;i++)
                  {  
                  //檢測判斷條件,根據類型不同可以修改
                  if(fm[i].tagName.toUpperCase()=="INPUT" &&fm[i].type.toUpperCase()=="TEXT" && (fm[i].title!=""))
              
                       if(fm[i].value="/blog/="")//
                       {
                       str_warn1=fm[i].title+"不能為空!";
                       alert(str_warn1);
                      fm[i].focus();
                       return false;         
                       }
                       if(fm[i].id.toUpperCase()=="SZ")//數字校驗
                       {
                               if(isNaN(fm[i].value))
                              { str_warn2=fm[i].title+"格式不對";
                              alert(str_warn2);
                              fm[i].focus();
                               return false;
                               }
                      }
                  }
                  return true;
          }


          2 >表單提交驗證類 


          2.1 表單項不能為空

          <script language="javascript">
          <!--
          function CheckForm()

          if (document.form.name.value.length == 0) { 
          alert("請輸入您姓名!");
          document.form.name.focus();
          return false;
          }
          return true;
          }
          -->
          </script>

          2.2 比較兩個表單項的值是否相同

          <script language="javascript">
          <!--
          function CheckForm()
          if (document.form.PWD.value != document.form.PWD_Again.value) { 
          alert("您兩次輸入的密碼不一樣!請重新輸入.");
          document.ADDUser.PWD.focus();
          return false;
          }
          return true;
          }
          -->
          </script>

          2.3 表單項只能為數字和"_",用于電話/銀行帳號驗證上,可擴展到域名注冊等

          <script language="javascript">
          <!--
          function isNumber(String)

          var Letters = "1234567890-"; //可以自己增加可輸入值
          var i;
          var c;
          if(String.charAt( 0 )=='-')
          return false;
          if( String.charAt( String.length - 1 ) == '-' )
          return false;
          for( i = 0; i < String.length; i ++ )

          c = String.charAt( i );
          if (Letters.indexOf( c ) < 0)
          return false;
          }
          return true;
          }
          function CheckForm()

          if(! isNumber(document.form.TEL.value)) { 
          alert("您的電話號碼不合法!");
          document.form.TEL.focus();
          return false;
          }
          return true;
          }
          -->
          </script>


          2.4 表單項輸入數值/長度限定

          <script language="javascript">
          <!--
          function CheckForm() 

          if (document.form.count.value > 100 || document.form.count.value < 1)

          alert("輸入數值不能小于零大于100!");
          document.form.count.focus();
          return false;
          }
          if (document.form.MESSAGE.value.length<10)

          alert("輸入文字小于10!");
          document.form.MESSAGE.focus();
          return false;
          }
          return true;
          }
          //-->
          </script>

          2.5 中文/英文/數字/郵件地址合法性判斷

          <SCRIPT LANGUAGE="javascript">
          <!--

          function isEnglish(name) //英文值檢測

          if(name.length == 0)
          return false;
          for(i = 0; i < name.length; i++) { 
          if(name.charCodeAt(i) > 128)
          return false;
          }
          return true;
          }

          function isChinese(name) //中文值檢測

          if(name.length == 0)
          return false;
          for(i = 0; i < name.length; i++) { 
          if(name.charCodeAt(i) > 128)
          return true;
          }
          return false;
          }

          function isMail(name) // E-mail值檢測

          if(! isEnglish(name))
          return false;
          i = name.indexOf(" at ");
          j = name dot lastIndexOf(" at ");
          if(i == -1)
          return false;
          if(i != j)
          return false;
          if(i == name dot length)
          return false;
          return true;
          }

          function isNumber(name) //數值檢測

          if(name.length == 0)
          return false;
          for(i = 0; i < name.length; i++) { 
          if(name.charAt(i) < "0" || name.charAt(i) > "9")
          return false;
          }
          return true;
          }

          function CheckForm()

          if(! isMail(form.Email.value)) { 
          alert("您的電子郵件不合法!");
          form.Email.focus();
          return false;
          }
          if(! isEnglish(form.name.value)) { 
          alert("英文名不合法!");
          form.name.focus();
          return false;
          }
          if(! isChinese(form.cnname.value)) { 
          alert("中文名不合法!");
          form.cnname.focus();
          return false;
          }
          if(! isNumber(form.PublicZipCode.value)) { 
          alert("郵政編碼不合法!");
          form.PublicZipCode.focus();
          return false;
          }
          return true;
          }
          //-->
          </SCRIPT>

          2.6 限定表單項不能輸入的字符

          <script language="javascript">
          <!--

          function contain(str,charset)// 字符串包含測試函數

          var i;
          for(i=0;i<charset.length;i++)
          if(str.indexOf(charset.charAt(i))>=0)
          return true;
          return false;
          }

          function CheckForm()

          if ((contain(document.form.NAME.value, "%"(")><")) || (contain(document.form.MESSAGE.value, "%"(")><")))

          alert("輸入了非法字符");
          document.form.NAME.focus();
          return false;
          }
          return true;
          }
          //-->
          </script>

          posted on 2010-06-04 16:33 愛運動 愛生活 閱讀(150) 評論(0)  編輯  收藏 所屬分類: Web前端


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          公告

          好好學習 天天向上

          常用鏈接

          留言簿

          文章分類

          文章檔案

          搜索

          積分與排名

          最新評論

          主站蜘蛛池模板: 漳州市| 郁南县| 罗定市| 女性| 同德县| 平度市| 呼玛县| 阳江市| 鲜城| 运城市| 南汇区| 泸溪县| 青神县| 紫阳县| 武威市| 彩票| 庆阳市| 玉树县| 太白县| 新安县| 常山县| 崇礼县| 社会| 若尔盖县| 田东县| 巴彦县| 隆林| 新野县| 沿河| 民县| 离岛区| 呼玛县| 岐山县| 广平县| 文山县| 陇南市| 乌鲁木齐市| 文安县| 太仆寺旗| 竹山县| 临清市|