先说一波正则表达式的元字符:
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>