《一》正则表达式的写法 (1) ^ 开始字符,$ 结束字符 例如 (-----"^abc$"和"abc"起到的效果是一样的------) (2) \d代表数字,但是\是特殊字符,所以需要\(反斜线)来转意,\d==[0,9] 例如(-----\\d来匹配一个数字-----) (3) 表示任何字符,但是空字符串不能匹配,如果表示.本身,需要用转意,\.代表的是.本身,但是用\.的时候,\也需要转意 例如(""不匹配," "是可以匹配的)("^\\.$"用来匹配.) (4) 正则表达式中的6中限定符 (4.1) ? 可以是0或者1个 ==[0,1] (4.2) + 至少1个 == [1,无极] (4.3) * 至少0个 == [0,无极] (4.4) {n} 匹配n个[n] (4.5) {n,} 至少匹配n次 [n,无极] (4.6) {n,m} 可以匹配n到m次 [n,m] (5) 正则中区分大小写,对于一个字母不区分大小写的写法是[yY] 例如 y或者Y都可以匹配[yY],[yYuU]可以被Y、y、U、u匹配 (6) js中正则表达式的用法: 第一步:var regex = /^-------$/ ; (中间写表达式,这里和java中不同,不同: 1:java中用"",js中用// 2:java中需要转意,js中这里的写法不需要转意 3:java中|可以正常使用,js中|有时候不管用,不管用时,需要分成几个表达式来写) 第二步:regex.test(str); (这里是判断匹配的,和Java中的不同 1:java中是str.match(regex),而这里是regex.test(str)) (7)js中i可以用来忽略大小写 var regex = /^[a-z0-9]*$/i; 忽略a-z的大小写 《二》总结的正则表达式的例子 (1)【0,9999.99】后边可以有两位小数的写法("^0(\\.\\d{1,2})?|[1,9]{1,4}(\\.\\d{1,2})?$") 解释:分析这个要求,可以是0和9999.99之间的数,可以是整数,或者是1到2位数, 分为两部分写(0 or 0.--)和(-- or --.-- ) 这样写出来,是可以判断非空的