您的位置:首页 > 其它

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

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


  

  ^[(]?\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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: