1.使用字面量形式定义正则表达式
例如:javascript
var pattern1 = /.at/gi;
若是须要使用元字符则必须转义,例如:java
var pattern2 = /\[bc\]at/gi; pattern2.test("[bc]At"); //返回true pattern2.test("[bc]At"); //返回false pattern2.test("[bc]At"); //返回true
2.使用构造函数的方式定义正则表达式
例如:正则表达式
var pattern3 = new RegExp("[bc]at","gi");
使用元字符则必须转义,例如:数组
var pattern2 = new RegExp("\\[bc\\]at","gi");
var pattern2 = new RegExp("\\[bc\\]at","gi"); pattern2.toString(); //返回"/\[bc\]at/gi"
返回的结果为匹配正则表达式的数组,返回第一个匹配信息的数组,没有匹配则返回null,在设置了全局匹配的模式下,每次调用都会查找新的匹配项。函数
var pattern3 = new RegExp("[bc]at","gi"); var result = pattern3.exec("cat,bat"); alert(result); //返回"cat" var result = pattern3.exec("cat,bat"); alert(result); //返回"bat" var result = pattern3.exec("cat,bat"); alert(result); //返回"null" var result = pattern3.exec("cat,bat"); alert(result); //返回"cat"
模式与参数匹配的状况下返回true,不然返回false。code
var pattern1 = /.at/gi; var result = pattern1.test("cat,bat"); alert(result); //返回true var result = pattern1.test("cat,bat"); alert(result); //返回true var result = pattern1.test("cat,bat"); alert(result); //返回false var result = pattern1.test("cat,bat"); alert(result); //true