平庸与杰出=加法与减法

思考其乐无穷 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);
        }
posted on 2008-06-19 10:26  我是蚂蚁  阅读(1509)  评论(1编辑  收藏  举报