客户端校验的正则表达式入门(我的第一个正则表达式)

  终于鼓起勇气接触了一下号称外星语言的正则表达式,因为我单纯是为了客户端校验做的,所以就学了个皮毛,写了第一个校验电话的表达式,留个印吧。

  

  ^[(]?\d{3,4}[)-]?[0-9]{8}$|^[0-9]{13}$

  这个分两部分

     ^[(]?\d{3,4}[)-]?[0-9]{8}$:用来校验(010)65883344或者0311-88990011

     ^[0-9]{13}$:校验13位手机号

 

  用"|"就可以同时校验啦

   

      先解释一下简单的^[0-9]{13}$:

      ^是以X开头,$是以X结尾,

      [0-9]是指在0到9里任选一个,

      {13}是指上一个规则重复13次

     

      座机比较麻烦

  ^[(]?\d{3,4}[)-]?[0-9]{8}

   [(]?是指可以写一个(,也可以不写

       \d 是[0-9]的另一种写法

       [)-]?是指)和-任选一个,也可以什么都不写

   其他参见上一个吧

 

  还有一些常用的

 

      表1.常用的元字符 

      .   匹配除换行符以外的任意字符

      \w 匹配字母或数字或下划线或汉字

      \s 匹配任意的空白符

      \d 匹配数字

      \b 匹配单词的开始或结束

      ^ 匹配字符串的开始

      $ 匹配字符串的结束

 

 

  表2.常用的限定符 

      * 重复零次或更多次

      + 重复一次或更多次

      ? 重复零次或一次

      {n} 重复n次

      {n,} 重复n次或更多次

      {n,m} 重复n到m次

 

     表3.常用的反义代码 

     \W 匹配任意不是字母,数字,下划线,汉字的字符

      \S 匹配任意不是空白符的字符

      \D 匹配任意非数字的字符

     \B 匹配不是单词开头或结束的位置

     [^x] 匹配除了x以外的任意字符

     [^aeiou] 匹配除了aeiou这几个字母以外的任意字符

 

     用于客户端校验的差不多就这些了

  如果想理解更深点的去看

     http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm

  测试工具

  http://regexpal.com/

      http://ryanswanson.com/regexp/#start

 

 

posted on 2009-11-13 12:04  Cheney Hao  阅读(233)  评论(0编辑  收藏  举报

导航