c#正则表达式 有效日期,是否数字,正确邮箱代码
正则表达式是一种常用的方法,特别是对字段有消息的判断是特别重要的,
现在整理了 日期正则,是否数字正则表达式,有效邮箱正则表达是源代码如下:
/// <summary>
/// 判断一个字符串是否为数字型
/// </summary>
/// <param name="str">输入字符串</param>
/// <returns>是数字 true 不是数字 false</returns>
public static bool IsNumeric(string str)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");
return reg.IsMatch(str);
}
/// <summary>
/// 判断一个字符串是否为日期型(yyyy-MM-dd hh-mm_ss或 yy-MM-dd)
/// </summary>
/// <param name="datestr">输入字符串</param>
/// <returns>是日期 true 不是日期 false</returns>
public static bool IsDateTime(string datestr)
{
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.Regex reg = new System.Text.RegularExpressions.Regex(regex);
return reg.IsMatch(datestr);
}
/// <summary>
/// 判断邮件地址
/// </summary>
/// <param name="mail">邮件地址</param>
/// <returns>true成功 false失败</returns>
public static bool isMail(string mail)
{
string regex = "[a-zA-Z0-9 ??_ ??-]{3,}@[a-zA-Z0-9]{3,}\\.[a-zA-Z0-9]{2,}";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex);
return reg.IsMatch(mail);
}
原文链接:http://www.jxszl.com/jlmb/Others/23999.html