JS邮箱验证-正则验证
1 <form action="">
2  输⼊:<input type="text" name="mazey" id="mazey" placeholder="请输⼊邮箱">
3  <input type="button" value="验证" onclick="check();">
4 </form>
5
6 <script>
7function check(){
8  var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"); //正则表达式  9  var obj = ElementById("mazey"); //要验证的对象
10  if(obj.value === ""){ //输⼊不能为空
11    alert("输⼊不能为空!");
12    return false;
13  }else if(!st(obj.value)){ //正则验证不通过,格式不对
14    alert("验证不通过!");
15    return false;
16  }else{
17    alert("通过!");
18    return true;
19  }
20 }
21 </script>
22
23⼀、RegExp
24
25 1.1 创建RegExp对象
26
27new RegExp("必选,正则表达式","可选,匹配模式g,i,m")
28 1.2 RegExp对象的⽅法
29
30 test:检索字符串中的指定值,返回True或False。
31 exec:检索字符串中的指定值,返回到的值,没有则null。
32 complie:⽤于改变正则表达式,或增删匹配模式。
33 1.2.1 test()
34
35var r1 = new RegExp('world');
36 console.st('Hello, world!')); //true
37 console.st('Hello, World!')); //false
38var r2 = new RegExp('world', 'i'); //⼤⼩写不敏感
39 console.st('Hello, World!')); //true
40var r3 = new RegExp(/world/i); //简写
41 console.st('Hello, World!')); //true
42 1.2.2 exec()
43
44var r1 = new RegExp('world');
45 console.('Hello, world!')); //['world']
46 console.('Hello, World!')); //null
47var r2 = new RegExp('world', 'i'); //⼤⼩写不敏感
48 console.('Hello, World!')); //['world']
49var r3 = new RegExp(/world/i); //简写
50 console.('Hello, World!')); //['world']
51var r4 = new RegExp('o');
52 console.('Hello, World!')); //['o']
53var r5 = new RegExp('o', 'gi');
54 console.('Hello, WOrld!')); //['o']
55 console.log(r5.lastIndex); //5 匹配⽂本的第⼀个字符的位置,o为4,下⼀个位置为5
56 console.('Hello, WOrld!')); //['O'] 匹配完第⼀个o后调⽤继续匹配
57 console.log(r5.lastIndex); //9
58 console.('Hello, WOrld!')); //null 匹配不到返回null
59 console.log(r5.lastIndex); //0 lastIndex重置为0
60 1.2.3 complie()
61
62var r1 = new RegExp('world');
63 console.('Hello, world!')); //['world']
64 r1pile('o');
65 console.('Hello, World!')); //['o']
66 r1pile('m');
67 console.('Hello, World!')); //null
68var r2 = new RegExp('world');
69 console.st('Hello, world!')); //true
70 r2pile('mazey');
71 console.st('Hello, world!')); //false
72⼆、正则表达式
73
74 ^$:表⽰匹配值的开始和结尾。
75 +:1+,⼀个或更多。
76 *:0+,零个或更多。
77 ?:0/1,零个或⼀个。
78 {1,2}:1<=length<=2,长度。
79 ():表⽰⼀个表达式的组。
80 []:匹配的字符范围,我理解为⼀个块,很多块放在⼀个组()⾥⾯。
81三、⽰例
82
83 <form action="">
84输⼊:<input type="text" name="mazey" id="mazey" placeholder="请输⼊邮箱">
85 <input type="button" value="验证" onclick="check();">
86 </form>
87 <script>
88function check(){
89var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"); //正则表达式 90var obj = ElementById("mazey"); //要验证的对象
91if(obj.value === ""){ //输⼊不能为空
92        alert("输⼊不能为空!");
匹配邮箱的正则表达式93return false;
94    }else if(!st(obj.value)){ //正则验证不通过,格式不对
95        alert("验证不通过!");
96return false;
97    }else{
98        alert("通过!");
99return true;
100    }
101 }
102 </script>