.Net常用正则判断方法

时间:2023-03-09 21:27:30
.Net常用正则判断方法
        /// <summary>
/// 判断string类型否为数字
/// </summary>
/// <param name="strNumber"></param>
/// <returns></returns>
public static bool IsNumber(string strNumber)
{
string strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
string strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
return !Regex.IsMatch(strNumber, "[^0-9.-]") &&
!Regex.IsMatch(strNumber, "[0-9]*[.][0-9]*[.][0-9]*") &&
!Regex.IsMatch(strNumber, "[0-9]*[-][0-9]*[-][0-9]*") &&
Regex.IsMatch(strNumber, "(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");
} /// <summary>
/// 判断string类型否为正整数+0
/// </summary>
/// <param name="strNumber"></param>
/// <returns></returns>
public static bool IsPositive(string strNumber) => Regex.IsMatch(strNumber, "^\\d+$"); /// <summary>
/// 判断string类型否为金额
/// </summary>
/// <param name="strNumber"></param>
/// <returns></returns>
public static bool IsAmount(string strNumber) => Regex.IsMatch(strNumber, "^[0-9]+(.[0-9]{2})?$"); /// <summary>
/// 判断string类型否为手机号
/// </summary>
/// <param name="strPhone"></param>
/// <returns></returns>
public static bool IsPhone(string strPhone) => Regex.IsMatch(strPhone, "^0?(13[0-9]|15[012356789]|18[012356789]|14[012356789]|17[012356789])[0-9]{8}$"); /// <summary>
/// 判断string类型否为固定电话号
/// </summary>
/// <param name="strTel"></param>
/// <returns></returns>
public static bool IsTel(string strTel) => Regex.IsMatch(strTel, "^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$"); /// <summary>
/// 判断string类型否为邮编
/// </summary>
/// <param name="strZipCode"></param>
/// <returns></returns>
public static bool IsZipCode(string strZipCode) => Regex.IsMatch(strZipCode, "[0-9]{6}"); /// <summary>
/// 判断string类型否为Email
/// </summary>
/// <param name="strEmail"></param>
/// <returns></returns>
public static bool IsEmail(string strEmail) => Regex.IsMatch(strEmail, "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"); /// <summary>
/// 判断是否为日期
/// </summary>
/// <param name="dateStr"></param>
/// <returns></returns>
public static bool IsDateString(string dateStr) => DateTime.TryParse(dateStr, out var date);