天天看點

JavaScript表單驗證

簡單JS表單驗證

[html] view plain copy

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title>無标題文檔</title>  
  6.     <style>  
  7.         .success  
  8.         {  
  9.             color:green;  
  10.         }  
  11.         .fail  
  12.             color:red;  
  13.     </style>  
  14.     <script>  
  15.         function checkField(reg,objId)  
  16.             var obj = document.getElementById(objId);  
  17.             var objSpan = document.getElementById(objId+"Span");  
  18.             if(reg.test(obj.value))  
  19.             {  
  20.                 objSpan.innerHTML=obj.alt+"OK";   
  21.                 objSpan.className="success";  
  22.             }  
  23.             else  
  24.                 objSpan.innerHTML=obj.alt+"不符合規則";    
  25.                 objSpan.className="fail";  
  26.         function checkUname()  
  27.         {         
  28.             var reg = new RegExp("^[a-zA-Z0-9][a-zA-Z0-9_]{2,7}$");  
  29.             checkField(reg,"uname");  
  30.         function checkRealName()  
  31.             var reg = /^[\u4E00-\u9FA5]{2,8}$/ig;  
  32.             checkField(reg,"realName");  
  33.         function checkEmail()  
  34.             var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;  
  35.             checkField(reg,"email");  
  36.         function checkPhone()  
  37.             var reg = /^1[3|4|5|8][0-9]\d{4,8}$/;  
  38.             checkField(reg,"phone");  
  39.     </script>  
  40. </head>  
  41. <body>  
  42.     <form action="#" method="post">  
  43.     <table border="1" bordercolor="blue"    cellspacing="0">  
  44.         <tr>  
  45.             <td width="100px" >使用者名</td>  
  46.             <td width="400px">  
  47.             <input name="name" type="text" size="20" id="uname" alt="使用者名" onblur="checkUname();"/>  
  48.             <span id="unameSpan"></span>  
  49.             </td>  
  50.         </tr>  
  51.             <td width="100px" >真實名</td>  
  52.             <td width="400px"><input name="name" type="text" id="realName" alt="真實名"   size="20" onblur="checkRealName();"/>  
  53.             <span id="realNameSpan"></span>  
  54.             <td>密碼</td>  
  55.             <td><input name="password" type="password" size="20" /></td>  
  56.             <td>重複密碼</td>  
  57.             <td><input name="rpassword" type="password" size="20" /></td>  
  58.             <td>年齡</td>  
  59.             <td><input name="age" type="text" size="20" /></td>  
  60.             <td>手機号</td>  
  61.             <td>  
  62.             <input type="text" name="phone" size="20" onblur="checkPhone();" alt="手機号" id="phone">  
  63.             <span id="phoneSpan"></span>  
  64.             <td>郵箱</td>  
  65.             <input type="text" name="email" size="20" onblur="checkEmail();" alt="郵箱" id="email">  
  66.             <span id="emailSpan"></span>  
  67.             <td width="100px">性别</td>  
  68.             <input name="sex" type="radio" value="0" />男  
  69.             <input name="sex" type="radio" value="1" />女  
  70.             <td>愛好</td>  
  71.                 <input name="hobby" type="checkbox" value="1" />足球  
  72.                 <input name="hobby" type="checkbox" value="2" />籃球  
  73.                 <input name="hobby" type="checkbox" value="3" />羽毛球  
  74.                 <input name="hobby" type="checkbox" value="4" />乒乓球  
  75.         </tr><tr>  
  76.             <td>班級</td>  
  77.                 <select name="class">  
  78.                 <option>一年級一班</option>  
  79.                 <option>一年級二班</option>  
  80.                 </select>  
  81.             <td>說明</td>  
  82.                 <textarea name="introduce" cols="54" rows="6" ></textarea>  
  83.                 <input type="reset" name="reset" value="重置" />  
  84.                 <input type="submit" name="submit" value="送出" />  
  85.     </table>  
  86. </body>  
  87. </html>