文档详情

正则表达式基本语法.pdf

发布:2017-05-28约1.46万字共13页下载文档
文本预览下载声明
正则表达式基本语法 ⼀、正则表达式基本语法 两个特殊的符号^和$。他们的作⽤是分别指出⼀个字符串的 始和结束。例⼦如 下: ^The:表示所有以The开始的字符串 (There,The cat等); of despair$:表示所以以of despair结尾的字符串; ^abc$:表示开始和结尾都是abc的字符串——呵呵,只有abc⾃⼰了; notice:表示任何包含notice的字符串 象最后那个例⼦,如果你不使⽤两个特殊字符,你就在表⽰要查找的串在被查找串的 任意部分——你并不把它定位在某⼀个顶端。 其它还有*,+和?这三个符号,表⽰⼀个或⼀序列字符重复出现的次数。它们分别 表⽰“没有或更多”,“⼀次或更多”还有“没有或⼀次”。下⾯是⼏个例⼦: ab*:表示⼀个字符串有⼀个a后⾯跟着零个或若⼲个b (a, ab, abbb,…… ab+:表示⼀个字符串有⼀个a后⾯跟着⾄少⼀个b或者更多; ab?:表示⼀个字符串有⼀个a后⾯跟着零个或者⼀个b; a?b+$:表示在字符串的末尾有零个或⼀个a跟着⼀个或⼏个b 你也可以使⽤范围,⽤⼤括号括起,⽤以表⽰重复次数的范围。 ab{2}:表示⼀个字符串有⼀个a跟着2个b (abb); ab{2,}:表示⼀个字符串有⼀个a跟着⾄少2个b; ab{3,5}:表示⼀个字符串有⼀个a跟着3到5个b 请注意,你必须指定范围的下限 (如:{0,2}⽽不是{,2})。还有,你可能注意到 了,*,+和 ?相当于{0,},{1,}和{0,1}。 还有⼀个¦,表⽰“或”操作: hi¦he o:表示⼀个字符串⾥有hi或者he o; (b¦cd)ef:表示bef或cdef; (a ¦b)*c:表示⼀串ab混合的字符串后⾯跟⼀个c; .可以替代任何字符: a.[0-9]:表示⼀个字符串有⼀个a后⾯跟着⼀个任意字符和⼀个数字; ^.{3}$:表示有任意三个字符的字符串 (⻓度为3个字符); ⽅括号表示某些字符允许在⼀个字符串中的某⼀特定位置出现: [ab]:表示⼀个字符串有⼀个a或b (相当于a ¦b); [a-d]:表示⼀个字符串包含⼩写的a到d中的⼀个 (相当于a ¦b¦c¦d或者[a ^[a-zA-Z]:表示⼀个以字⺟开头的字符串; [0-9]%:表示⼀个百分号前有⼀位的数字; ,[a-zA-Z0-9]$:表示⼀个字符串以⼀个逗号后⾯跟着⼀个字⺟或数字结束 你也可以在⽅括号⾥⽤^表⽰不希望出现的字符,^应在⽅括号⾥的第⼀位。 (如:%[^a-zA-Z]%表 ⽰两个百分号中不应该出现字母)。 为了逐字表达,你必须在^.$()¦*+?{\这些字符前加上转移字符\。 请注意在⽅括号中,不需要转义字符。 ⼆、正则表达式验证控制⽂本框的输⼊字符类型 1.只能输⼊数字和英⽂的: input onkeyup=va ue=va ue.rep ace(/[\W]/g,) onbeforepaste 2.只能输⼊数字的: input onkeyup=va ue=va ue.rep ace(/[^\d]/g,) onbeforepaste 3.只能输⼊全⾓的: input onkeyup=va ue=va ue.rep ace(/[^\uFF00-\uFFFF]/g,) onbe 4.只能输⼊汉字的: input onkeyup=va ue=va ue.rep ace(/[^\u4E00-\u9FA5]/g,) onbe 三、正则表达式的应⽤实例通俗说明 ******************************************************************************* //校验是否全由数字组成 /^[0-9]{1,20}$/ ^ 表示打头的字符要匹配紧跟^后⾯的规则 $ 表示打头的字符要匹配紧靠$前⾯的规则 [ ] 中的内容是可选字符集 [0-9] 表示要求字符范围在0-9之间 {1,20}表示数字字符串⻓度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20 /^ 和 $/成对使⽤应该是表示要求整个字符串完全匹配定义的规则,⽽不是只匹配字符 ******************************************************************************* //校验登录名:只能输⼊5-20个以字⺟开头、可带数字、“
显示全部
相似文档