八一八正则表达式

以前用正则表达式直接网上一搜,也不懂中间的规则,今天项目出点问题,网上的号码匹配和项目需求不合,于是仔细看了下,趁热打铁,来一发。

还是先上例子:

电话号码正则匹配

 

/^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/

这段正则的有几个意思捏?来  一个一个看

/......./  正则好像都是这样开头的结尾的

^这个表示第一个匹配字符串开始

括号嘛  这个大家都懂噻   在这里当然表示分组了,但要注意 “\(”    “\)” 这个表示匹配左右括号,毕竟\大多数情况下时表示转义的;

“0” 第一个数字是0;

“[0-9]”第二个数字0-9 其实也可以用\d 匹配  \d 表示匹配数字;

{2,3}重复数字2到3次;

\-  转义的;

?表示重复前面括号里面那货0次或一次,通俗的说就是前面括号里面的可要可不要,要的话最多出现1次;

后面的照旧啊,表示可以用”-“加一位或者四位的分机号 ;

最后的$表示最后匹配。

 

写在后面:

最后来一点感慨,正则这东西,不用刻意去记那些规则,多写几遍,自然会懂,规则呢很多,没记住正常。

 

posted on 2014-11-24 22:49  liuestc  阅读(104)  评论(0编辑  收藏  举报