正则表达式

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     <script type="text/javascript">
 7    /*
 8    正则表达式
 9    用于定义一些字符串的规则
10    计算机可以根据正则表达式,来检查一个字符是否符合规则
11    获取将字符串中符号规则的内容提取出来
12    
13    使用构造函数来创建正则表达式的对象
14    语法
15    var 变量=new RegExp("正则表达式","匹配模式");
16    使用typeof检查正则表达式,会返回object
17    在构造函数中可以传递是一个匹配模式作为第二个参数
18     可以是
19       i 忽略大小写
20       g 全局匹配模式
21    
22    正则表达式的方法
23    test()
24    使用这个方法可以用来检查一个字符串是否符合正则表达式的规则
25    如果符号则返回true,否则返回false 严格区分大小写
26    
27    */
28     var reg=new RegExp("a");//这个正则表达式可以来检查一个字符串中是否有a
29     var str="waw";
30     reg.test(str);//false
31     reg=RegExp("a","i");
32     console.log(reg.test("A"));//true
33     
34     /*
35     使用字面量来创建正则表达式
36     语法
37     var 变量 = /正则表达式/匹配模式
38     
39     使用字面量的方式创建更加简单
40     使用构造函数的方式更加灵活
41     
42     1.检查一个字符串中是否有a或b
43     使用|表示或的意思
44     []里的内容也是或的关系
45     2.检查一个字符串中是否有字母
46     [a-z] 任意小写字母
47     [ab]==a|b
48     [A-Z] 任意大写字母
49     reg=/a[bde]c/
50     [^ ] 除了
51     */
52    reg= /a/i;
53    console.log(reg.test("abc"));
54    reg=/a|b/i;
55    reg=/[^ab]/;
56    console.log(reg.test("abc"));//true 含有除了ab以外的字符
57     </script>
58     </head>
59     <body>
60     </body>
61 </html>

正则表达式语法

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     <script type="text/javascript">
 7     var str="a121dqwdafs";
 8    /*
 9    split()
10    可以将一个字符串拆分为一个数组
11    方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串
12    
13    根据任意字母来将字符串拆分,这个方法即使不指定全局匹配,也会全部拆分
14    */
15    var result=str.split(/[A-z]/);
16    console.log(result);
17    
18    
19    /*
20    search()
21    可以搜索字符串是否含有指定内容
22    如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回-1
23    它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
24    search()只会查找一个,即使设置全局匹配也没用
25    */
26   str="helloabc hello abc";
27  // result=str.search(/abc/g); 5
28   result=str.search("abc");
29   console.log(result);
30   
31   
32   /*
33   match()
34   可以根据正则表达式,从一个字符串中符号条件的内容提取出来
35   默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索
36     我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
37   match()会将匹配到内容的封装到一个数组中返回,即使只查询到一个结果
38   */
39   result=str.match(/[A-z]/g);// g全局匹配 gi既全局匹配又忽略大小写
40   
41   
42   /*
43   replace()
44   可以将字符串中指定的内容替换为新的内容
45   参数
46   1.被替换的内容,可以接受一个正则表达式作为参数
47   2.新的内容
48   默认只会会替换第一个
49   */
50  str="wsaerewq1211da";
51  result=str.replace(/a/ig,"( ఠൠఠ )ノ");
52   console.log(result);
53     </script>
54     </head>
55     <body>
56     </body>
57 </html>

正则表达式的语法

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     <script type="text/javascript">
 7     /*
 8     量词
 9     通过量词设置一个内容出现的次数
10     量词只对它前边的一个内容起作用
11     {n} 正好出现n次
12     {m,n} 出现m-n次
13     {m,} m次以上
14     + 至少一次,相当于{1,}
15     * 0个或多个,相当于{0,}
16     ? 0个或1个,相当于{0,1}
17     */
18    var reg=/a{3}/;
19    reg=/(ab){3}/;
20    reg=/ab{1,3}c/;
21    console.log(reg.test("ababab"));
22    /*
23    检查一个字符串是否以a开头
24    ^ 表示开头
25    $ 表示结尾
26    */
27   reg=/^bc/;
28   console.log(reg.test("bcbc"));//false
29   reg=/a$/;
30   console.log("ba");//true 
31   /*
32   设置一个合法的手机号
33   手机号规则
34   1.以1开头
35   2.第二位3-9任意数字
36   3.三位以后任意数字9个
37   ^1 [3-9] [0-9]{9}$
38   */
39  var phone="123245656745";
40  var phoneReg=/^1[3-9][0-9]{9}$/;
41  console.log(phoneReg.test(phone));
42     </script>
43     </head>
44     <body>
45     </body>
46 </html>

对于电子邮件的正则表达式

1 /*
2     电子邮件
3     9999 @ 123 .com.cn
4     任意数字字母下划线.任意数字字母下划线@任意数字字母  .任意字母(2-5位).任意字母(2-5位)
5     w{3,}         (\.\w+)*          @  [A-z0-9]+    (\.[A-z]{2,5}){1,2}     
6     */
7    var email="abc.qwee@163.com";
8    var emailReg=/^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
9    console.log(emailReg.test(email));

 

posted @ 2019-07-22 20:12  zuiaimiusi  阅读(163)  评论(0编辑  收藏  举报