<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>正則表達式</title> </head> <script> //對象選擇器 function $sel(id,tabname){ if(id!="" && tabname!=""){ var tem_obj=document.getElementById(id); return tem_obj.getElementsByTagName(tabname); }else if(id!=""){ return document.getElementById(id); }else{ return document.getElementsByTagName(tabname); } } //電話號碼驗證 function isnum(obj){ var reg=/^1[0-9]{10}/; if(!reg.test(obj.value)){ alert("請正確填寫手機號!"); obj.value=""; } } //驗證郵件格式 function ismail(obj){ var reg=/[a-zA-Z0-9]{1,10}@[a-zA-Z0-9]{1,5}\.[a-zA-Z0-9]{1,5}/; if(!reg.test(obj.value)){ alert("請正確填寫郵箱!"); obj.value=""; } } //驗證用戶名格式 function isname(obj){ var reg=/^[\u4e00-\u9fa5]{2,4}$/; if(!reg.test(obj.value)){ alert("請正確填寫姓名!姓名爲兩到四個漢字。"); obj.value=""; } } //初始化驗證 function init(){ //註冊一個失去焦點的事件 $sel("phone","").onblur=function(){ isnum(this); } $sel("mail","").onblur=function(){ ismail(this); } $sel("username","").onblur=function(){ isname(this); } } </script> <body onload="init()"> <input type="text" id="username" placeholder="姓名"/><br><br> <input type="text" id="phone" placeholder="手機號"/><br><br> <input type="text" id="mail" placeholder="郵箱地址"/> </body> </html>
運行結果如圖所示:
初始界面爲上圖所示;html
當輸入姓名,電話或郵箱出現錯誤就會窗口彈窗提示錯誤:正則表達式
只有當全部的信息輸入正確之後纔不會出現彈窗報錯的狀況:this