客户端校验的正则表达式入门(我的第一个正则表达式)
终于鼓起勇气接触了一下号称外星语言的正则表达式,因为我单纯是为了客户端校验做的,所以就学了个皮毛,写了第一个校验电话的表达式,留个印吧。
^[(]?\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://ryanswanson.com/regexp/#start
posted on 2009-11-13 12:04 Cheney Hao 阅读(233) 评论(0) 编辑 收藏 举报