900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C# 正则表达式验证数据类型

C# 正则表达式验证数据类型

时间:2024-03-22 20:37:29

相关推荐

C# 正则表达式验证数据类型

public class DataVerify

{

private static string ReInt = @"^[+-]?(?:/d+)";

private static string ReUInt = @"^[+]?(?:/d+)";

private static string ReDouble = @"^[+-]?(?:/d+(/./d*)?|/d*/./d+?)";

private static string ReDate = @"^(?:(?!0000)[0-9]{4}([-/.]?)(?:(?:0?[1-9]|1[0-2])/1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])/1(?:29|30)|(?:0?[13578]|1[02])/1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2/2(?:29))";

private static string ReTime = @"^([0-9]|[0-1][0-9]|[2][0-3]):([0-9]|[0-5][0-9])(:([0-9]|[0-5][0-9]))?";

private static string EndFlag = @"/s*$";

public static bool RegexMatch(string input, string pattern)

{

if (input == null || input.Trim().Length == 0)

return false;

return System.Text.RegularExpressions.Regex.IsMatch(input, pattern);

}

public static bool IsDouble(string str)

{

return RegexMatch(str, ReDouble + EndFlag);

}

public static bool IsInt(string str)

{

return RegexMatch(str, ReInt + EndFlag);

}

public static bool IsUInt(string str)

{

return RegexMatch(str, ReUInt + EndFlag);

}

/// <summary>

/// 格式为yyyy-MM-dd HH:mm:ss 或yyyy-M-d H:m:s

/// </summary>

/// <param name="str"></param>

/// <returns></returns>

public static bool IsDateTime(string str)

{

return RegexMatch(str, ReDate + @"/s+" + ReTime.Replace("^","") +EndFlag);

}

/// <summary>

/// 格式yyyy-MM-dd或yyyy-M-d,连字符可以没有或是“-”、“/”、“.”之一

/// </summary>

/// <param name="str"></param>

/// <returns></returns>

public static bool IsDate(string str)

{

return RegexMatch(str, ReDate + EndFlag);

}

/// <summary>

/// 时间格式为HH:mm:ss 或H:m:s或HH:mm或H:m

/// </summary>

/// <param name="str"></param>

/// <returns></returns>

public static bool IsTime(string str)

{

return RegexMatch(str, ReTime + EndFlag);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。