平庸与杰出=加法与减法

思考其乐无穷 IT剩者为王

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
/// <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\-\._\?\,\'/\\\+&amp;%\$#\=~]*)?$");
            
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 (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  博客园首页

  新闻频道

  社区

  小组

  博问

  网摘

  闪存

  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-06-19 15:47 编辑过
成果网帮您增加网站收入


相关链接: