幻想编程

一起进入正则表达式的世界(3)

时间:14-03-18 11:07:06点击:264

正则表达式的基础基本已经说完了,现在开始实战吧

首先我们来验证数字

if(a.match(/\d/)) 这个已经见过了,只要字符串包含数字就pass

if(a.match(/^\d$$/)) 必须只有一个数字才pass 相当于if(a.match(/^[0-9]$$/))

if(a.match(/^\d*$$/)) 只匹配数字,数字多少位都pass

if(a.match(/^\d{3}$$/)) 数字只能是3位数

if(a.match(/^\d{3,}$$/)) 数字至少是3位数以上

if(a.match(/^\d{1,3}$$/)) 数字只能匹配0-999之间

if(a.match(/^-\d$$/)) 只能匹配负数

if(a.match(/^[1-9][0-9]*$$/)) 只能匹配非零的正整数

if(a.match(/^[1-9][0-9]?[0-9]?$$/)) 匹配一个或2个或3个数字

if(a.match(/^[1-9][0-9]{2}$$/)) 匹配开头不为0的3位数

加个?号呢

if(a.match(/^[1-9][0-9]{2}?$$/)) 呵呵,还是一样的,只是变成非贪心模式而已,这点注意

下面试试字母的匹配

if(a.match(/^[a-z]$$/)) 只匹配小写字母

if(a.match(/^[a-zA-Z]$$/)) 只匹配大小写字母

if(a.match(/^[a-z]+$$/)) 至少有一个字母才可匹配

if(a.match(/^hello[a-z]*$$/)) 匹配开头为hello的因为单词,包括hello