用正则表达式进行简单的邮箱校验

先说一波正则表达式的元字符:

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>

 

posted @ 2018-03-26 15:47  amberriver  阅读(32302)  评论(0编辑  收藏  举报