您的位置:首页 > Web前端 > JavaScript

对javascript正则表达式的总结

2012-02-05 19:17 302 查看
1、javascript 正则对象创建和用法

var pattern = new RegExp("cat");

var pattern = /cat/;

2、常用的 test exec match search replace split 6个方法

1) test 检查指定的字符串是否存在,返回 true || false

var data = "123123";

var reCat = /123/gi;

alert(reCat.test(data)); //true

//检查字符是否存在 g 继续往下走 i 不区分大小写

2) exec 返回查询值,如果为空则返回null

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";

var reCat = /cat/i;

alert(reCat.exec(data)); //Cat

3)match 得到查询数组

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";

var reCat = /cat/gi;

var arrMactches = data.match(reCat)

for (var i=0;i < arrMactches.length ; i++)

{

alert(arrMactches[i]); //Cat cat

}

4) search 返回搜索位置 类似于indexof

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";

var reCat = /cat/gi;

alert(data.search(reCat)); //23

5) replace 替换字符 利用正则替换

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";

var reCat = /cat/gi;

alert(data.replace(reCat,"libinqq"));

6)split 利用正则分割数组

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";

var reCat = /\,/;

var arrdata = data.split(reCat);

for (var i = 0; i < arrdata.length; i++)

{

alert(arrdata[i]);

}

3、常用正则表达式

var patrn = /^1[358][0-9]{9}$/ // 手机12位数字

var patrn = /[^u4e00-u9fa5]/ // 字符串为中文

var patrn = /^[0-9]{1,20}$/ // 1-20位数字

var patrn = /^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/ // 校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”

var patrn = /^[a-zA-Z]{1,30}$/; // 只能输入1-30个a-z字母,不区分大小写

4、用正则表达式对字符串操作

function trim(str){

return str.replace(/(^\s*)|(\s*$)/g, "");

} ;

function lTrim(str){

return str.replace(/(^\s*)/g, "");

};

function rTrim(str){

return str.replace(/(\s*$)/g, "");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: