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, "");
}