public static class Validator
{
/// <summary>
/// 数字
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsNumber(string value)
{
return IsMatch(@"^[0-9]*$", value);
}
/// <summary>
/// 非零正整数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsInt(string value)
{
return IsMatch(@"^\+?[1-9][0-9]*$", value);
}
/// <summary>
/// 零和非零开头的数字(包含0的正整数)
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsZeroInt(string value)
{
return IsMatch(@"^(0|[1-9][0-9]*)$", value);
}
/// <summary>
/// 26个英文字母、数字、下划线组成的字符串
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsLimitString(string value)
{
return IsMatch(@"^[a-zA-Z][a-zA-Z0-9_]*$", value);
}
/// <summary>
/// 电子邮箱
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsEmail(string value)
{
return IsMatch(@"^([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})(\]?)$", value);
}
/// <summary>
/// 身份证号码
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsIdentify(string value)
{
return IsMatch(@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$", value);
}
/// <summary>
/// 手机号码
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsMobile(string value)
{
return IsMatch(@"^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$", value);
}
/// <summary>
/// 电话号码
/// </summary>
/// <param name="value"></param>
public static bool IsPhone(string value)
{
return IsMatch(@"^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$", value);
}
/// <summary>
/// 字符串长度验证(是否超过指定最大长度)
/// </summary>
/// <param name="value"></param>
/// <param name="maxLength"></param>
/// <returns></returns>
public static bool IsMaxLength(string value, int maxLength)
{
if (string.IsNullOrEmpty(value))
return false;
//用字节长度比较,而不是字符长度
return System.Text.Encoding.Default.GetByteCount(value) > maxLength;
}
private static bool IsMatch(string expression, string value)
{
Regex reg = new Regex(expression);
return reg.IsMatch(value);
}
}