乐虎游戏|乐虎国际登录|欢迎你

C#常用的正则表达式

日期:2019-11-06编辑作者:计算机资讯

C#正则表达式输入日期格式正确的判断方法,

本文将介绍一段实例代码,来讲解利用正则表达式使C#判断输入日期格式是否正确的方法。希望这段代码能对大家有所帮助。

通常我们在用C#编写系统程序或者Web开发时,都会遇到需要验证输入的字符串是否是日期的情况,下面为大家介绍一种非常全面的用正则表达式验证日期的方法:

c 正则表达式日期代码一:

///

/// 是否为日期型字符串

///

///

日期字符串(2008-05-08)

///

public static bool IsDate(string StrSource)

{

return Regex.IsMatch(StrSource, @"^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-9]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");

}

///

/// 是否为时间型字符串

///

///

时间字符串(15:00:00)

///

public static bool IsTime(string StrSource)

{

return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?d):[0-5]?d:[0-5]?d)$");

}

///

/// 是否为日期+时间型字符串

///

///

///

public static bool IsDateTime(string StrSource)

{

return Regex.IsMatch(StrSource, @"^(((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?d):[0-5]?d:[0-5]?d)$ ");

}

c 正则表达式日期代码二:

//是否是整数

public static bool IsInt(string StrSource)

{

return Regex.IsMatch(StrSource, @"^[0-9]*$");

}

public static bool IsDate(string strDate)

{

if (string.IsNullOrEmpty(strDate))

return false;

string s_reg = @"^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(?'month'0?[1-9]|1[012])\2

(?'day'((?((0?[1-9]|1[012])(:[0-5]?\d){0,2}(\x20[AP]M))|([01]?

\d|2[0-3])(:[0-5]?\d){1,2}))?)$";

Regex reg = new Regex(s_reg);

if (reg.IsMatch(strDate.ToLower()))

return true;

else

return false;

}

以上就是小编给大家介绍的C#正则表达式判断输入日期格式是否正确的全部内容,希望对大家学习c正则表达式日期判断有所帮助。同时也非常感谢大家一直以来对路饭网站的支持。

本文将介绍一段实例代码,来讲解利用正则表达式使C#判断输入日期格式是否正确的方法。希...

图片 1图片 2/**//// <summary>
图片 3        /// 正则表达式判断是否为数字
图片 4        /// </summary>
图片 5        /// <param name="strNumber"></param>
图片 6        /// <returns></returns>
图片 7        public static bool IsNumber(string strNumber)
图片 8图片 9        图片 10{
图片 11            //^[-+]?[1-9]d*.?[0]*$
图片 12            Regex objNotNumberPattern = new Regex("[^0-9.-]");
图片 13            Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
图片 14            Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");
图片 15            String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
图片 16            String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
图片 17            Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");
图片 18
图片 19            return !objNotNumberPattern.IsMatch(strNumber) &&
图片 20            !objTwoDotPattern.IsMatch(strNumber) &&
图片 21            !objTwoMinusPattern.IsMatch(strNumber) &&
图片 22            objNumberPattern.IsMatch(strNumber);
图片 23        }
图片 24
图片 25图片 26        /**//// <summary>
图片 27        /// 正则表达式判断是否为日期
图片 28        /// 验证格式:
图片 29        /// YYYY-MM
图片 30        /// YYYY-MM(M)-DD(M)
图片 31        /// YYYYMMDD       
图片 32        /// </summary>
图片 33        /// <param name="date"></param>
图片 34        /// <returns></returns>
图片 35        public static bool IsDate(string date)
图片 36图片 37        图片 38{
图片 39            //(([0-9]{4}-)([0-9]{1,2}-)[0-9]{1,2})
图片 40            Regex ymPattern = new Regex(@"^d{4}-?(?:0[1-9]|1[0-2])$");
图片 41            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]))))))"); //日期部分
图片 42            
图片 43            return !ymPattern.IsMatch(date) &&
图片 44                yyyyMMdd.IsMatch(date);
图片 45        }
图片 46
图片 47图片 48        /**//// <summary>
图片 49        /// 正则表达式判断是否为日期
图片 50        /// 验证格式:     
图片 51        /// YYYY-MM(M)-DD(M) HH:MM
图片 52        /// YYYYMMDD HH:MM
图片 53        /// </summary>
图片 54        /// <param name="date"></param>
图片 55        /// <returns></returns>
图片 56        public static bool IsDateTime(string date)
图片 57图片 58        图片 59{
图片 60            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]))))))"; //日期部分
图片 61            regex += @"(s(((0?[0-9])|([1-2][0-3])):([0-5]?[0-9])((s)|(:([0-5]?[0-9])))))?$"; //时间部分
图片 62            System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline) | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
图片 63            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
图片 64
图片 65            return reg.IsMatch(date);
图片 66        }
图片 67
图片 68        public static bool IsEmail(string mail)
图片 69图片 70        图片 71{
图片 72            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})(]?)$");
图片 73
图片 74            return reg.IsMatch(mail);
图片 75        }
图片 76
图片 77图片 78        /**//// <summary>
图片 79        /// 正则表达式是否为网址,验证格式:
图片 80        /// wwww.xxx.xxx
图片 81        /// xxx.xxx.xxx
图片 82        /// 
图片 83        /// 
图片 84        /// </summary>
图片 85        /// <param name="uri"></param>
图片 86        /// <returns></returns>
图片 87        public static bool IsUri(string uri)
图片 88图片 89        图片 90{
图片 91            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]dd|d?d)(?(.?d).)){4}))(:[a-zA-Z0-9]+)?(/[a-zA-Z0-9-._?,'/\+&%$#=~]*)?$");
图片 92            return reg.IsMatch(uri);
图片 93        }

正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。


匹配中文字符的正则表达式: ["u4e00-"u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^"x00-"xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:"n"s*"r
评注:可以用来删除空白行

匹配HTML标记的正则表达式:<("S*?)[^>]*>.*?</"1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^"s*|"s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:"w+([-+.]"w+)*@"w+([-.]"w+)*"."w+([-.]"w+)*
评注:表单验证时很实用

本文由乐虎游戏发布于计算机资讯,转载请注明出处:C#常用的正则表达式

关键词:

Ubuntu 12.04 Server安装Gerrit

前生机勃勃阵子在CentOS6.2上安装了Git/gitosis/ReviewBoard,这一个烦啊。首若是gitosis这几个东西管理不便于,其次是Review b...

详细>>

NO.3 运算符与分支组织

.NET反射System.Drawing.Color结构体, 请看代码: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using S...

详细>>

算法(第四版)C#题解——2.1,

算法(第四版)C#题解——2.1, 写在前头 全套项目都托管在了 Github上: 那风流洒脱节内容或者会用到的库文件有 ...

详细>>

WebService入门之CXF教程

import javax.jws.WebService; 相关教程: CXF使用Tomcat发布WebService的简单例子http://www.linuxidc.com/Linux/2011-12/49309.htm (3)将解压...

详细>>