平庸与杰出=加法与减法
思考其乐无穷 IT剩者为王
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
::
对正则表达式不熟悉,记录几个从别处拿来验证过的表达式,日期、数字、email、网址验证
/**/
///
<summary>
///
正则表达式判断是否为数字
///
</summary>
///
<param name="strNumber"></param>
///
<returns></returns>
public
static
bool
IsNumber(
string
strNumber)
{
//
^[-+]?[1-9]\d*\.?[0]*$
Regex objNotNumberPattern
=
new
Regex(
"
[^0-9.-]
"
);
Regex objTwoDotPattern
=
new
Regex(
"
[0-9]*[.][0-9]*[.][0-9]*
"
);
Regex objTwoMinusPattern
=
new
Regex(
"
[0-9]*[-][0-9]*[-][0-9]*
"
);
String strValidRealPattern
=
"
^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$
"
;
String strValidIntegerPattern
=
"
^([-]|[0-9])[0-9]*$
"
;
Regex objNumberPattern
=
new
Regex(
"
(
"
+
strValidRealPattern
+
"
)|(
"
+
strValidIntegerPattern
+
"
)
"
);
return
!
objNotNumberPattern.IsMatch(strNumber)
&&
!
objTwoDotPattern.IsMatch(strNumber)
&&
!
objTwoMinusPattern.IsMatch(strNumber)
&&
objNumberPattern.IsMatch(strNumber);
}
/**/
///
<summary>
///
正则表达式
判断是否为日期
///
验证格式:
///
YYYY-MM
///
YYYY-MM(M)-DD(M)
///
YYYYMMDD
///
</summary>
///
<param name="date"></param>
///
<returns></returns>
public
static
bool
IsDate(
string
date)
{
//
(([0-9]{4}-)([0-9]{1,2}-)[0-9]{1,2})
Regex ymPattern
=
new
Regex(
@"
^\d{4}-?(?:0[1-9]|1[0-2])$
"
);
Regex yyyyMMdd
=
new
Regex(
@"
^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))
"
);
//
日期部分
return
!
ymPattern.IsMatch(date)
&&
yyyyMMdd.IsMatch(date);
}
/**/
///
<summary>
///
正则表达式
判断是否为日期
///
验证格式:
///
YYYY-MM(M)-DD(M) HH:MM
///
YYYYMMDD HH:MM
///
</summary>
///
<param name="date"></param>
///
<returns></returns>
public
static
bool
IsDateTime(
string
date)
{
string
regex
=
@"
^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))
"
;
//
日期部分
regex
+=
@"
(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$
"
;
//
时间部分
System.Text.RegularExpressions.RegexOptions options
=
((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace
|
System.Text.RegularExpressions.RegexOptions.Multiline)
|
System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex reg
=
new
System.Text.RegularExpressions.Regex(regex, options);
return
reg.IsMatch(date);
}
public
static
bool
IsEmail(
string
mail)
{
Regex reg
=
new
Regex(
@"
^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
"
);
return
reg.IsMatch(mail);
}
/**/
///
<summary>
///
正则表达式是否为网址,
验证格式:
///
wwww.xxx.xxx
///
xxx.xxx.xxx
///
http://www.xxx.xxx
///
http://xxx.xxx.xxx
///
</summary>
///
<param name="uri"></param>
///
<returns></returns>
public
static
bool
IsUri(
string
uri)
{
Regex reg
=
new
Regex(
@"
^(((ht|f)tp(s?))\://)?((([a-zA-Z0-9_\-]{2,}\.)+[a-zA-Z]{2,})|((?:(?:25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)(?(\.?\d)\.)){4}))(:[a-zA-Z0-9]+)?(/[a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~]*)?$
"
);
return
reg.IsMatch(uri);
}
--畅所欲言,随心而谈--
本博客文章全部原创,转载请注明出处,谢谢
紫辰友创软件公司
http://www.bornsun.net/
版权所有 jiabao.cnblogs.com 转载请联系
posted on 2008-06-19 10:26
我是蚂蚁
阅读(686)
评论(1)
编辑
收藏
所属分类:
乱弹
评论
#1楼
2008-06-19 12:02
AlexChen
不知道这些日期 时间等的验证格式是什么;
先收藏了.
回复
引用
查看
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
博客园首页
新闻频道
社区
小组
博问
网摘
闪存
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-06-19 15:47 编辑过
成果网帮您增加网站收入
相关文章:
关于Windows XP正版验证
深入浅出之正则表达式(一)
正则表达式基础知识
优秀网址
解放web程序员的输入验证
【整理】【最近更新日期:2005-10-15】【找工作必读!】来自IT公司速查手册的各大IT公司薪资和待遇内幕
相关链接:
所属分类的其他文章:
对正则表达式不熟悉,记录几个从别处拿来验证过的表达式,日期、数字、email、网址验证
如何识别真正的程序员 (转帖 来自csdn)
2008年业务、技术学习计划
记录一下,开车以来最惨痛的教训!
总结,对自己对团队对项目的总结
(不)相信 --- 龙应台
最新IT新闻:
淘宝与微软总部达成首次合作 Silverlight加入店铺
苹果9日发布iTunes 8、iPhone 2.1和第四代iPod Nano
微软出品8GB蓝色和120GB Zune播放器
千亿美元市值榜:微软居首移动第二 诺基亚退榜
Google申请“海上数据中心”专利 可能付诸行动
公告
技术是大海
技能是一叶小舟
能航行多远
取决于
--舟的大小
--掌舵的水平
还有就是你的运气
与我联系
发短消息
搜索
留言簿
(3)
给我留言
查看留言
我参加的小组
创业交流
WCF技术研究
我的标签
销售管理
(1)
企业信息化
(1)
随笔分类
DRP(5)
(rss)
SOA(5)
(rss)
WCF(9)
(rss)
WF(9)
(rss)
创业(1)
(rss)
乱弹(8)
(rss)
企业信息化(3)
(rss)
渠道分销
(rss)
随笔档案
2008年7月 (1)
2008年6月 (1)
2008年1月 (4)
2007年12月 (5)
2007年11月 (5)
2007年10月 (4)
2007年9月 (9)
友情链接
北京玩主
--带你浏览京城的"大街小巷"
怪怪
雨痕
--落笔之处如细雨留痕
紫辰友创
阅读排行榜
1. 关于中小企业信息化命题的阶段性总结(2941)
2. msdn杂志关于wcf\wwf的相关文章(2525)
3. 乱弹SOA(1969)
4. WF 工作流实例持久化几点说明(1957)
5. 针对 WCF 数据压缩开发包压缩效率的测试比较(1892)
Powered by:
博客园
Copyright © 我是蚂蚁