正则表达式(regular expression)简称regex,是对字符串操做的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式主要用来验证客户端的输入数据。javascript
给定一个正则表达式和另外一个字符串,咱们能够达到以下的目的:html
1. 给定的字符串是否符合正则表达式的过滤逻辑(称做“匹配”);java
2. 能够经过正则表达式,从字符串中获取咱们想要的特定部分。正则表达式
1、建立正则表达式:express
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;">var box =new RegExp('box');//第一个参数字符串 var box=new RegExp('box','ig');//第二个参数可选模式修饰符</span></strong></span></strong>
二、字面量方式
数组
<strong><strong>var box=/box/;//直接用两个反斜杠 var box=/box/ig;//在第二个斜杠后面加上模式修饰符</strong></strong>
RegExp对象包含两个方法:test()和exec()服务器
一、test()测试
test()方法在字符串中查找是否存在指定的正则表达式并返回布尔值,若是存在则返回true,不存在则返回false。
google
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;"><html> <body> <script type="text/javascript"> var box=new RegExp("e"); document.write(box.test("The best things in life are free")); </script> </body> </html></span></strong></span></strong>
exec()方法也用于在字符串中查找指定正则表达式,若是exec()方法执行成功,则返回包含该查找字符串的相关信息数组。若是执行失败,则返回null。
编码
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;"><html> <body> <script type="text/javascript"> var box=new RegExp("e"); document.write(box.exec("The best things in life are free")); </script> </body> </html> </span></strong></span></strong>
3、String对象中的正则表达式方法
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;"><!doctype html> <html> <head> <meta charset="utf-8"> <title>replace/match</title> </head> <script language="javascript" type="text/javascript"> var str="Windows 是一个很优秀的系统,我喜欢Windows!"; alert(str); </script> <body> </body> </html></span></strong></span></strong>
一、match
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;"><!doctype html> <html> <head> <meta charset="utf-8"> <title>replace/match</title> </head> <script language="javascript" type="text/javascript"> var str="Windows 是一个很优秀的系统,我喜欢Windows!"; //定义变量reg var reg=/Windows/g; /*var tmp=str.replace(reg,"Linux"); alert(tmp);*/ var found=str.match(reg); alert(found); </script> <body> </body> </html> </span></strong></span></strong>
二、replace
<strong><strong><!doctype html> <html> <head> <meta charset="utf-8"> <title>replace/match</title> </head> <script language="javascript" type="text/javascript"> var str="Windows 是一个很优秀的系统,我喜欢Windows!"; //定义变量reg var reg=/Windows/g; var tmp=str.replace(reg,"Linux"); alert(tmp); </script> <body> </body> </html></strong></strong>
<strong><strong>var pattern=/[a-z]+?/;/?号关闭了贪婪匹配,只替换了第一个 var str='abcdefjhijklmnopqrstuvwxyz'; var result=str.replace(pattern,'xxx'); alert(result);</strong></strong>
<strong><strong>var pattern=/8(.+?)8/g;//禁止了贪婪,开启的全局 var str='This is 8google8,That is 8google8,There is 8google8'; var result=str.replace(pattern,'<strong>$1<strong>'); document.write(result);</strong></strong>
<strong><strong>var pattern=/8([^8]*)8/g;//另外一种禁止贪婪 var str='This is 8google8,That is 8google8,There is 8google8'; var result=str.replace(pattern,'<strong>$1</strong>'); document.write(result);</strong></strong>