正则表达式具有强大的作用,概括起来主要有以下3点:
1)测试字符串的模式;
2)替换文本;
3)根据模式匹配从字符串中提取一个字符串。
一、表达式的创建
创建方式1:
var reg = new RegExp();//创建对象
reg = new RegExp("c"); //匹配字母c
reg = new RegExp("c","gi"); //表示不区分大小写匹配字母c
创建方式2:
var reg = /c/gi;
二、对象方法
下面罗列一些常用的方法:
1)test:返回一个Boolean值,判断指定的字符串中是否存在模式,存在返回true,否则返回false;
2)match:找到一个或多个正则表达式的匹配;
3)replace:替换与正则表达式匹配的子串;
4)search:检索与正则表达式匹配的值。
5) exec:用正则表达式在字符串中查找,并返回数组。
三、语法与例子
1、简单匹配
var str = "They love us,we are happy!";
var reg = new RegExp("we");
alert(reg.test(str)); //返回true,只要字符串中含有we即可
2、i 表示忽略大小写
// i表示忽略大小写
var str = "They love us,we are happy!";
var reg = new RegExp("We");
alert(reg.test(str)); //返回false
var reg = new RegExp("We","i"); //第二个参数i表示不区分大小写
alert(reg.test(str)); //返回true
3、^ 表示字符开始位置,$表示字符结尾位置
var str = "They love us,we are happy!";
var reg = new RegExp("^we");
alert(reg.test(str)); //返回false,因为we不在开始位置
var reg = new RegExp("^The");
alert(reg.test(str)); //返回true
var str = "They love us,we are happy!";
var reg = new RegExp("^The$");
alert(reg.test(str)); //返回false,因为The虽然在开头,但不在末尾。
var str = "They love us,we are happy!";
var reg = new RegExp("happy!$");
alert(reg.test(str)); //返回true
4、\s表示匹配任何空白字符,包括空格、制表符、换页符等;
\d表示0-9任意一个数字;
\w表示任意一个字母、数字和下划线;
\. 小数点可以匹配除了换行符(/n)以为的其他任意字符;
+表示字符至少要出现一次
var str = "su 8";
var re = /^[a-z]+\s\d+/;
alert(re.test(str)); //返回true
var array = re.exec(str);
alert(array[0]); //数组的第一个元素为完整的匹配内容
5、[ ]表示匹配指定范围内任意字符
var str = "we are family";
var reg = new RegExp("[a-z]");
alert(reg.test(str)); //返回true
var str = "123we are family";
var reg = new RegExp("^[a-z]"); //以字母开头
alert(reg.test(str)); //返回false
6、用()来创建子匹配
var str = "jQuery 1.11"; //下面获取主版本号1和次版本号11
var re = /\d+\.+\d+/;
var array = re.exec(str); //这种方法只能获得1.11
alert(array[0]); //数组的第一个元素为完整的匹配内容
var re = /(\d+)\.+(\d+)/; //利用括号创建子元素
var array = re.exec(str);
alert(array[0]); //完整的匹配字符串1.11
alert(array[1]);//第一个子元素1
alert(array[2]); //第二个子元素11