<p>javascript 正则表达式<br />
<br />
很长时间没看 正则表达式了,碰巧今天用到,温故知新了一把 看书学习吧<br />
50% 的举一反三练习中的原创。<br />
<br />
一 javascript正则表达式的基本知识<br />
<br />
1 javascript 正则对象创建 和用法<br />
<br />
声明javascript 正则表达式<br />
<br />
var reCat = new RegExp("cat");<br />
你也可以 <br />
var reCat = /cat/; //Perl 风格 (推荐)<br />
<br />
2 学习最常用的 test exec match search replace split 6个方法<br />
<br />
1) test 检查指定的字符串是否存在<br />
<br />
var data = "123123";<br />
var reCat = /123/gi;<br />
alert(reCat.test(data)); //true<br />
<br />
//检查字符是否存在 g 继续往下走 i 不区分大小写<br />
<br />
2) exec 返回查询值<br />
<br />
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";<br />
var reCat = /cat/i;<br />
alert(reCat.exec(data)); //Cat<br />
<br />
3)match 得到查询数组<br />
<br />
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";<br />
var reCat = /cat/gi;<br />
var arrMactches = data.match(reCat)<br />
<br />
for (var i=0;i < arrMactches.length ; i++)<br />
{<br />
alert(arrMactches[i]); //Cat cat<br />
}<br />
<br />
4) search 返回搜索位置 类似于indexof<br />
<br />
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";<br />
var reCat = /cat/gi;<br />
alert(data.search(reCat)); //23<br />
<br />
<br />
5) replace 替换字符 利用正则替换<br />
<br />
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";<br />
var reCat = /cat/gi;<br />
alert(data.replace(reCat,"libinqq"));<br />
<br />
6)split 利用正则分割数组<br />
<br />
var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";<br />
var reCat = /,/;<br />
var arrdata = data.split(reCat);<br />
<br />
for (var i = 0; i < arrdata.length; i++)<br />
{<br />
alert(arrdata[i]);<br />
}<br />
<br />
3 学习下 简单类 负向类 范围类 组合类<br />
<br />
//简单类<br />
var data = "1libinqq,2libinqq,3libinqq,4libinqq";<br />
var reCat = /[123]libinqq/gi;<br />
var arrdata = data.match(reCat);<br />
<br />
for (var i = 0; i < arrdata.length; i++)<br />
{<br />
alert(arrdata[i]); // 1libinqq 2libinqq 3libinqq<br />
}<br />
<br />
//负向类<br />
var data = "alibinqq,1libinqq,2libinqq,3libinqq,4libinqq"; //u0062cf<br />
var reCat = /[^a123]libinqq/gi;<br />
var arrdata = data.match(reCat);<br />
<br />
for (var i = 0; i < arrdata.length; i++)<br />
{<br />
alert(arrdata[i]); //4libinqq<br />
}<br />
<br />
//范围类<br />
var data = "libinqq1,libinqq2,libinqq3,libinqq4,libinqq5"; //u0062cf<br />
var reCat = /libinqq[2-3]/gi;<br />
var arrdata = data.match(reCat);<br />
<br />
for (var i = 0; i < arrdata.length; i++)<br />
{<br />
alert(arrdata[i]); // libinqq2 libinqq3<br />
}<br />
<br />
//组合类<br />
var data = "a,b,c,w,1,2,3,5"; //u0062cf<br />
var reCat = /[a-q1-4n]/gi;<br />
var arrdata = data.match(reCat);<br />
<br />
for (var i = 0; i < arrdata.length; i++)<br />
{<br />
alert(arrdata[i]); // a b c 1 2 3<br />
}<br />
</p>