正则表达式基本语法
2017-08-12 18:51
281 查看
/** * Created by linyaokui on 17/3/13. */ // var reg = new RegExp("","igm"); // var reg1 = new RegExp(""); // // var reg2 = //igm; i不区分大小写 g全局匹配(取出所有匹配出的值) m多行匹配 // var reg = new RegExp("hello"); // // var str = "hello world"; // var result = reg.exec(str); //返回数组对象 // alert(result); // // var reg1 = /helloaa/; // alert(reg1.test(str)); //返回boolean // var reg = /Hello/ig; // var str = "hello world ,hello Kitty"; // var he = str.match(reg); //匹配出可以匹配的结果 返回数组 // alert(he); // var reg = /hello/ig; // var str = "hello world ,Hello Kitty"; // var he = str.search(reg); //返回第一个匹配的位置 g就没有用了 // alert(he); // var reg = /hello/ig; // var str = "hello world ,Hello Kitty"; // var he = str.replace(reg,"wo"); // 将第二个参数替换成正则所匹配的字符串 默认只替换第一个 // alert(he); // var reg = /,/; // var str = "hello world ,Hello Kitty"; // var he = str.split(reg); // 按照正则去切割字符串 返回是数组 // alert(he); //. :代表任意字符 换行除外 // var reg = /b..k/; // var str = "books"; // alert(reg.test(str)); //? :出现0次或者1次, *:出现0次或多次 +:出现1次或多次 // var reg = /bo*k/; // var str = "books"; // alert(reg.test(str)); // var reg = /bo+k/; // var str = "bks"; // alert(reg.test(str)); // var reg = /bo?k/; // var str = "bks"; // alert(reg.test(str)); // {m,n} :至少出现m次,最多出现n次 {m,}:至少出现m次 {m}:正好出现m次 // var reg = /bo{2,4}k/; // var str = "books"; // alert(reg.test(str)); //[]:限定某一位上的取值范围 [^]:限定某一位上不能取的值 // var reg = /[a-zA-Z0-9]ook/; // var str = "books"; // alert(reg.test(str)); // var reg = /[^a-zA-Z0-9]ook/; // var str = "books"; // alert(reg.test(str)); // \d等价[0-9] \D[^0-9] \w等价[a-zA-Z0-9_] \W等价[^a-zA-Z0-9_] // var reg = /^book$/; //^字符串以book开头 $匹配行尾 (如果让字符串和正则的一样 就这么写) // var str = "book"; // alert(reg.test(str)); // \s 匹配空白字符、空格、制表符和换行符 // var reg = /bo\sk/; // var str = "bo k"; // alert(reg.test(str)); // | this|where|logo 匹配this或where或logo |或者的意思 // var reg = /book|java|me/; // var str = "book"; // alert(reg.test(str)); //()分组 一组的可以看做一个整体 // var reg = /(javascript){2,4}/; // var str = "study javascriptjavascript"; // alert(reg.test(str)) // alert(RegExp.$1); //()分组 通过分组替换前后两个值 // var reg = /(.*)\s(.*)/; // var str = "hello word"; // alert(reg.test(str)) // alert(str.replace(reg,'$2 $1')); // 贪婪:?* + {m,n} {m,} {n} 取最大匹配的字符串 // 惰性:?? *? +? {m,n}? {m,}? {m}? 取最小匹配的字符串 // var reg = /6(.*?)6/g; // var str = "hello 6hello6 6hello6 6hello6"; // alert(str.replace(reg,'$1')); //捕获性分组 // var reg = /([a-z]+)\s(\d{4})/g; // var str = "hell 2017 hell 2017 hell 2017 hell 2017 hell 2017"; // alert(reg.exec(str)); //非捕获性分组 ?: // var reg = /([a-z]+)\s(?:\d{4})/; // var str = "hell 2017 hell 2017 hell 2017"; // alert(reg.exec(str)); //前瞻捕获 ?= // var reg = /[a-z]+(?=gle)/; // var str = "fdskjkgle"; // alert(reg.exec(str)); //换行模式 // var reg=/^\d+/gm; // var str = "1、baidu\n2google\n3hha"; // alert(str.replace(reg,"#")); //验证手机号 // var reg = /^1[3578]\d{9}$/; // var phone = "13578947895"; // alert(reg.test(phone)); //把手机中间的4位换成星号 // var reg = /^(1[3578]\d)(\d{4})(\d{4})$/; // var phone = "13845678945"; // var ss = phone.replace(reg,"$1****$3"); // alert(ss); //验证是否为压缩文件 // var reg = /\w+\.(rar|zip|gz)/; // var file = "xx.zip"; // alert(reg.test(file)); //验证一个邮箱 // var reg = /^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-zA-Z]+$/; // var email = "xioaming.ff@163.com"; // alert(reg.test(email));
相关文章推荐