正则表达式(RegExp对象):主要用于表单验证
1、创建正则表达式:
(1)、var ret = /pattern/; pattern是内容,可以是正则表达式的内容,可以是字符或是其他的内容
(2)、var rag = new RegExp("pattern");括号内可以是双引号或者单引号
2、正则表达式的exec方法:
reg.exec(str); ,reg为创建的正则表达式,str为要执行正则表达式的目标字符串
如:var reg = /test/; //此处如果是e,则输出e,如果是so,则输出为null
var str = "testString";
var result = reg.exec(str);
alert(result);//输出test,当没有与正则表达式相匹配的内容时,输出null
3、c{n}:c表示字母,n表示个数
如:c{1}表示匹配一个c
c{2}表示匹配两个连续的c
4、c{m,n}:匹配m到n个c,m小于等于n
如:c{3,4}:匹配连续的3个或4个c。如果多于4个,仍然只匹配4个
5、c{n,}:表示最少有n个c,最多则不限个数
6、* 表示0次或多次,c*等同于c{0}
7、 +表示1次或多次,c+等同于c{1,}
8、 ?表示0次或1次,c?等同于c{0,1}
3~8的正则表达式都是贪心模式,只要在合法的情况下,会尽量多的匹配字符
非贪心模式:正则尽量少地匹配字符,在数字的符号后面,组成的形式如:{n,}? , *? , +? , ?? , {m,n}?
9、^表示只能匹配字符串的开头
10、 $表示只能匹配字符串的结尾
11、‘.’匹配字符串中除了换行符\n之外的所有字符
12、“ | ”正则表达式中的或,二选一,如b|c表示,匹配b或c
13、字符集合[abc]表示a或者b或者c的任意一个字符
[a-z]:小写字母;[A-Z]大写字母;[0-9]数字
14、不区分大小写:reg = /b|c$/i,即在正则表达式后面加一个i
15、反字符串:p^在正则表达式开始部分的时候表示开头的意思,例如/^c/表示开头是c;但是在字符集合中,它表示的是类似“非“的意思,例如[^abc]就表示不能是a,b或者c中的任何一个。
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
var mobile=/^((13[0-9]{1})|159|153)+\d{8}$/;
var mobile1=/^(13+\d{9})|(159+\d{8})|(153+\d{8})$/;