正则表达式基本语法

/**
 * 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));






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值