先說一波正則表達式的元字符:
d 表示數字
w 表示數字,字母和下划線
s 表示空格和制表符
D 表示非數字
W 表示非數字,字母和下划線
^ 在[ ]中表示除了,非;在[ ]之外表示輸入字符串的開始位置
$ 表示輸入字符串的結束位置
b 表示單詞邊界
{n,m} 表示最少n次,最多m次
{n, } 表示最少n次,最多不限
{ ,m} 表示最少不限,最多m次
{n} 表示正好n次
+ 表示一次或多次
? 表示一次或0次
郵箱的地址規則:數字、字母、下划線 + @ + 數字、英文 + . +英文(長度是2-4)
根據這個規則可以寫出如下表達式:
var re=/\w+@[a-z0-9]+\.[a-z]{2,4}/;
這樣會發現“中文wangyijsyy@126.com”或“wangyijsyy@126.comerli”也可以通過驗證,所以需要加入“^”和“$”標記字符串的開始和結束位置。即:
var re=/^\w+@[a-z0-9]+\.[a-z]{2,4}$/;
上完整代碼:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 <meta charset="utf-8"> 6 <script> 7 window.onload = function() 8 { 9 var oTxt = document.getElementById("txt"); 10 var oBtn = document.getElementById("btn"); 11 oBtn.onclick = function() 12 { 13 var re = /^\w+@[a-z0-9]+\.[a-z]{2,4}$/; 14 if(re.test(oTxt.value)) 15 { 16 alert("你寫對了"); 17 } 18 else 19 { 20 alert("你寫錯了"); 21 } 22 } 23 } 24 </script> 25 </head> 26 <body> 27 <input type="text" id="txt"> 28 <input type="button" id="btn" value="校驗"> 29 </body> 30 </html>