先说一波正则表达式的元字符:
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
2
3
4
5
6
7 window.οnlοad= function()8 {9 varoTxt=document.getElementById("txt");10 varoBtn=document.getElementById("btn");11 oBtn.οnclick= function()12 {13 varre= /^\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
25
26
27
28
29
30