正则表达式
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));