正則表達式(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中的不论什么一个。
18、对电子邮件的验证:
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?
)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
19、对于手机号码的验证(提供了两种方法)
var mobile=/^((13[0-9]{1})|159|153)+\d{8}$/;
var mobile1=/^(13+\d{9})|(159+\d{8})|(153+\d{8})$/;