上一个表单验证我们用了正则表达式,这篇文章我们就来说一下正则表达式的一些知识,只是一小部分,九牛一毛罢了,以后会慢慢补充。
首先,正则表达式的声明:
1、通过new运算符创建正则表达式。
new RegExp()
第一个参数:字符串
第二个参数:修饰符
i 忽略大小写
g 全局匹配
m 换行匹配
/*var box = new RegExp("box", 'ig');
alert(box); // /box/gi*/
2、省略new创建
/*var box = RegExp("box", 'ig');
alert(box); // /box/gi*/
3、正则表达式常量赋值
/*var box = /box/ig;
alert(box);*/
字符串中可以使用正则的函数:
match
格式:字符串.match(正则)
返回值:在字符串匹配正则,如果匹配成功,返回数组,数组中存放着匹配到的字符串
如果匹配失败,返回null。
var str = 'This is a Box';
var box = /box/;
alert(str.match(box));
replace
格式:字符串.replace(正则/字符串, newStr);
功能:使用newStr替换,正则/字符串部分。原字符串不会修改,返回值是替换完成的字符串。
var str = 'this is a box Box BOX';
var box = /box/ig;
var subStr = str.replace(box, "apple");
alert(subStr);
search
var str = 'this is a bOx box BOX';
var box = /box/i;
var index = str.search(box);
alert(index);
split
格式:字符串.split(分割符/正则);
返回值:数组,分割完毕的子串,组成的数组。
常用的一些元字符
单个元字符:
. 匹配任意字符
[a-zA-Z] 限定单个字符匹配的范围
[a-zA-Z0-9_] 匹配单个的数字字母下划线
\w 匹配单个的数字字母下划线
\W 匹配单个非数字字母下划线的字符
\d 匹配单个的数字字符 [0-9]
\D 匹配单个的非数字字符 [^0-9]
[^a-zA-Z0-9_]匹配单个非数字字母下划线的字符
\s 匹配单个的空白字符(任意的空白字符)
\S 匹配单个的非空白字符
锚点字符
^ 行首匹配,这个正则必须是字符串的开头
$ 行尾匹配,这个正则必须是字符串的结尾
重复字符 x(代表任意字符)
x+ 匹配至少一个x字符
x* 匹配任意个x字符
x? 匹配0或者1个x字符
x{m,n} 匹配最少m,最多n个x字符
x{n}匹配n个x字符
(xyz)+ 【注】把xyz当做单个字符匹配
先写到这里,后期再慢慢补充。