木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java5年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql5年进入店铺

常用数据验证正则表达式释义(附:正则表达式常用符号)

正则表达式,要想完全掌握,几乎是不可能的。而且,正则表达式,也并不是万能的,很多情况,并不能做倒完全的匹配。如果我们仅仅是做网站,在数据验证、简单查询的时候使用,我们只需要掌握几个常用的验证表达式,并能正确地解读它的规则就可以了。

一、Internet电子邮箱地址:

正则表达式:

\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

释义:

1、表达式必须含有”@“和”.“两个符号;

2、@之前,必须以字母、数字或者下划线开始,可以使用特殊字符"-"、”+“、”.“和”'“,但后面必须跟一个以上字母、数字或者下划线,不允许有其它字符;

3、@与.之间,规则同上,但允许使用的特殊字符只有"-"和”.“;

4、.之后,规则同上;

5、"."属于元字符,使用的时候,需要加个反斜杠"\."。

总结:

电子邮箱,并没有一个严格的规则,调试程序时,我经常使用111.111@111甚至1@1.1,完全符合上面正则表达式的规则。


二、QQ号:

正则表达式:[1-9][0-9]{4,}

释义:第一位是1到9的数字,后面是4位以上0到9的数字,也就是说,从100000开始的数字号码。


三、IP地址:

 正则表达式:

((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

释义:

1、2[0-4]\d:第一位是2,第二位是0-4,第三位是0-9——也就是数字200-249;

2、25[0-5]:第一位是2,第二位是5,第三位是0-5——也就是数字250-255;

3、[01]?\d\d?:第一位是0或1或者什么都没有,第二位是0-9,第三位是0-9或者什么都没有——也就是:0-199,允许有00、000、09、009、099等形式;

4、(2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}:0.-255.重复三次;

5、(2[0-4]\d|25[0-5]|[01]?\d\d?):0-255;

总结:

这是个严格的IP正则表达式,允许任何形式正确的IP,不允许任何不正确的IP。

附:正则表达式常用符号

符号

说明

[]

用来定义单一字符的内容,例如:

[a-zA-Z]       只接受a-z或是A-Z的英文字符。

[x-zX-Z]     只接收小写的x-z或大写的X-Z

[win]               只接收win的英文字母。

{}

用来定义需输入的字符个数,例如:

[a-zA-Z]{4}            表示接受只接收四个字符。

[a-z]{4}         表示只接收共四个a-z小写字符。

[a-zA-Z]{4,6}     表示最少接受四个字符,最多接受六个字符。

[a-zA-Z]{4,}       表示最少接受四个字符,最多不限制。

.

符号可以用来表示接收除了空白外的任意字符,例如:

.{4}   表示接收四个除了空白外的任意字符。

*

表示最少可以不输入,最多到无限多个字符。例如:

[a-zA-Z]*  表示不限制数目,接受a-zA-Z的字符,也可以不输入。

+

表示最少输入 1 个字符,最多到无限多个字符,例如:

[a-zA-Z]+  表示不限制数目,接受a-zA-Z的字符,但是至少输入一个字符

[^...]

表示不包含的字符

|

表示或,只要符合两个规则的其中一个即接受。例如,用户只要输入全部四个数值或是全部四个字母都接受的话,验证规则可以写成[a-zA-Z]{4} | [0-9]{4}

\d

匹配任何一个数字(0~9

\D

匹配任何一个非数字(^0~9

\w

与以下任意字符匹配:A-Za-z0-9和下划线。

等效于[A-Za-z0-9_]

 

\W

与除 A-Za-z0-9和下划线以外的任意字符匹配。

等效于[^A-Za-z0-9_]

 

posted @ 2012-09-13 09:52  程序流程图  阅读(571)  评论(0编辑  收藏  举报
木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java5年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql5年进入店铺