正则表达和cookie基础

  1 <!DOCTYPE html>
  2 <html>
  3     <head>
  4         <meta charset="utf-8">
  5         <title></title>
  6     </head>
  7     <body>
  8         <script type="text/javascript">
  9         //正则表达式是由普通字符及特殊字符组成的对字符串进行过滤的逻辑公式
 10         //1、字面量的方式
 11         var reg = /abc/;
 12         //2、构造函数
 13         var reg = new RegExp("abc");
 14         //3、test方法 正则表达式的方法,用来检测字符串中是否含有符合规则的字串,有返回true,无返回false。
 15         var str = "abc";
 16         var flag = reg.test(str);
 17         console.log(flag);// true
 18         
 19         //修饰符 g  i 
 20         
 21         //g  表示全局匹配
 22         var reg = /abc/g;
 23         var str = "abcabc";
 24         //match方法,字符串方法
 25         console.log(str.match(reg));// ["abc", "abc"]
 26         
 27         //i 表示忽略大小写
 28         var reg = /abc/gi;
 29         var str = "AbcABCabc";
 30         console.log(str.match(reg));// ["Abc", "ABC", "abc"]
 31         
 32         //seach方法,用于查找符合规则的子串的位置,只返回第一个匹配的位置
 33         var reg = /abc/;
 34         var str = "12345abc";
 35         console.log(str.search(reg));//5
 36         
 37         //split 以某某分割将一个字符串分割返回一个数组
 38         var reg = /good/;
 39         var str = "good good study";
 40         console.log(str.split(reg));//["", " ", " study"]
 41         
 42         //replace  替换字符
 43         var reg = /tmd/gi;
 44         var str= "abc tmd abc TMD";
 45         console.log(str.replace(reg,"*"));//abc * abc *
 46         
 47         //exec方法,正则表达式的方法将匹配的内容放到数组里,若不成功,赶回false
 48         var reg = /good/g;
 49         var str = "good good study";
 50         console.log(reg.exec(str));//["good", index: 0, input: "good good study", groups: undefined]
 51         console.log(reg.exec(str));
 52         console.log(reg.exec(str));
 53         
 54         
 55         
 56         // .除了换行符之外的所有单个字符
 57         var reg = /g..gle/gi;
 58         var str = "goodleg--gle";
 59         console.log(reg.test(str));//true
 60         
 61         // *重复多次匹配,匹配任意次0次到n次
 62         var reg = /g*gle/gi;
 63         var str = "ggggle";
 64         console.log(reg.test(str),str.match(reg));//true ["ggggle"]
 65         
 66         // +至少有一次重复胖匹配
 67         var reg = /g+gle/gi;
 68         var str = "ggle";
 69         console.log(reg.test(str));//true
 70         
 71         // ? 进行0次或1次匹配
 72         var reg = /g?gle/gi;
 73         var str = "ggggle";
 74         console.log(reg.test(str),str.match(reg));//true ["ggle"]
 75         
 76         //[] 表示可以出现的范围[0-9]
 77         var reg = /[0-9]/gi;
 78         var str = "ab0c";
 79         console.log(reg.test(str));//true
 80         
 81         // \w 数字字母下划线 等同于[0-9a-zA-Z_] \W 非数字字母下划线
 82         var reg = /\w/gi;
 83         var str = "abc13";
 84         console.log(reg.test(str),str.match(reg));//true (5) ["a", "b", "c", "1", "3"]
 85         
 86         // \d 表示数字[0-9] \D 非数字
 87         var reg = /\d/gi;
 88         var str = "12345abc";
 89         console.log(reg.test(str),str.match(reg));//true (5) ["1", "2", "3", "4", "5"]
 90         
 91         // \s匹配空格
 92         var reg = /\s+/gi;
 93         var str = "good good   study";
 94         console.log(str.replace(reg,""));//goodgoodstudy
 95         
 96         //{m,n} 至少匹配m次,至多匹配n次 {m,}  {n}
 97         var reg = /go{2,6}/gi;
 98         var str = "gooogle";
 99         console.log(reg.test(str));//true
100         
101         //  /^匹配开始$/匹配结尾
102         var reg = /g^.+g$/gi;
103         var str = "gooogle";
104         console.log(reg.test(str));//false
105         
106         //  | 或
107         var reg = /google|baidu|bing|yahoo/gi;
108         var str = "www.baidu.com";
109         console.log(reg.test(str),str.match(reg));//true ["baidu"]
110         
111         // ()分组  将内容作为一个整体进行匹配
112         var reg = /(google){4,6}/gi;
113         var str = "googleaaagooglegooglegooglegooglegooglegoogle";
114         console.log(reg.test(str),str.match(reg));//true ["googlegooglegooglegooglegooglegoogle"]
115         console.log(RegExp.$1);//google
116         
117         //$1 $2
118         var reg = /(.*)\s(.*)/;
119         var str = "taobao baidu";
120         console.log(str.replace(reg,"$2 $1"));//baidu taobao
121         
122 
123         </script>
124     </body>
125 </html>

 练习:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         用户名:<input type="text" id="username" />(数字,字母,下划线组成的6-1位字符,且不能以数字开头)
 9         <script type="text/javascript">
10             var oInput = document.getElementById("username");
11             oInput.onchange = function(){
12                 var val = this.value;
13                 var reg = /^[a-zA-Z_]\w{5,14}$/;
14                 if(reg.test(val)){
15                     console.log("格式正确");
16                 }else{
17                     console.log("格式错误,请重新输入!");
18                 }
19             }
20         </script>
21         
22     </body>
23 </html>

 

posted @ 2020-07-06 11:11  梦晶秋崖  阅读(93)  评论(0编辑  收藏  举报
返回顶端