创建方法:
var box=new RegExp('Box');
alert (box) ; //结果:/Box/
字面量表示法(常用):
var box=/BOX/;
alert(box); // 结果/BOX/
常用参数 :
i 忽略大小写
g 全局匹配
m 多行匹配
方法:
test 在字符串中测试模式匹配 返回true或false
exec 在字符串中执行匹配搜索 返回结果数组或者null
replace 位置交换
var pattern=/box/;
var str='BOX';
alert(pattern.test(str)); //没区分大小写返回false
var pattern=/box/i;
var str='BOX';
alert(pattern.test(str)); //忽略大小写返回true
alert(pattern.exec(str)); //返回BOX
alert(/box/i.test('BOX')); //一句话匹配 较乱不建议用
\r回车
\n换行
\ 将下一个字符标记为特殊字符,匹配回车符为\\r而不是\r,\(匹配(
. 单个字符
? 零次或者一次
* 0次一次或者多次
+ 一次或者多次
^[0-9] 开头必须为数字
[^0-9] 开头不能为数字
\s 空格匹配
\b 到达边界
| 表示匹配或选择模式,匹配不是选择是包含
\w [a-zA-Z0-9_]
\W [^a-zA-Z0-9_]
\d [0-9]
\D [^0-9]
{n} n为非负整数 匹配n次
{n,m} nm为非负整数 a{2,4}匹配a最少零次最多四次
{n,} 至少匹配n次n为非负整数
() 分组匹配
^ 强制开头匹配
$ 强制结尾匹配
var box=/apple{5}/ //匹配e五次
var box1=/(apple){5}/ //匹配apple五次
var str="appleappleeeeeee";
alert(box.test(str)); //true
alert(box.exec(str)); //appleeeee
alert(box1.test(str)); //false
alert(box1.exec(str)); //null
var pattern=/a(.*)a/; //匹配aa之间的任意字符
var str = "one applea";
alert(pattern.exec(str)); //applea,pple第一个为整个匹配内容第二个为括号里的匹配内容
var pattern=/(a+(b+(c+)))/;
var str = "abc";
alert(pattern.exec(str)); //abc,abc,bc,c 由外到内获取长度为4数组
var a = pattern.exec(str);
alert(a[0]); //abc
alert(a[1]); //abc
alert(a[2]); //bc
alert(a[3]); //c
邮政编码验证:六个数字
var pattern=/^\d{6}$/;