/***************************************************** * 文件名:StringValidation.cs * 功能描述:扩展方法:字符串验证 * 创建时间:2014-6-7 * 作 者: Eric * * 修改时间: * 修改人: * 修改描述 * ******************************************************/ public static class StringValidation { /// <summary> /// 验证IP地址 /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsIP(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, @"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$", RegexOptions.IgnoreCase); } /// <summary> /// 验证电话号 如:010-29292929 /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsTelephone(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, @"^d{3,4}-?d{6,8}$", RegexOptions.IgnoreCase); } /// <summary> /// 验证手机号 /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsMobilePhone(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, @"^1[35]d{9}$", RegexOptions.IgnoreCase); } /// <summary> /// 验证邮箱地址 /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsEmail(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, @"^[A-Za-z0-9](([_.-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([.-]?[a-zA-Z0-9]+)*).([A-Za-z]{2,})$", RegexOptions.IgnoreCase); ; } /// <summary> /// 验证日期数据 /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsDate(this string str) { try { DateTime time = Convert.ToDateTime(str); return true; } catch { return false; } } /// <summary> /// 验证是否是中文 /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsChinese(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, @"^[u4e00-u9fa5]+$", RegexOptions.IgnoreCase); } /// <summary> /// 验证URL /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsUrl(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, @"^(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://)|(www.))+(([a-zA-Z0-9._-]+.[a-zA-Z]{2,6})|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(/[a-zA-Z0-9&%_./-~-]*)?$", RegexOptions.IgnoreCase); } /// <summary> /// 验证邮编 /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsZipCode(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, @"^d{6}$", RegexOptions.IgnoreCase); } /// <summary> /// 验证QQ /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsQQ(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, "^[1-9]\d{4,9}$"); } /// <summary> /// 验证纯字符 /// </summary> /// <param name="str"></param> /// <returns></returns> public static bool IsLetter(this string str) { return string.IsNullOrEmpty(str) && Regex.IsMatch(str, "^[a-zA-Z]+$"); } /// <summary> /// 验证字符串长度 /// </summary> /// <param name="str"></param> /// <param name="begin"></param> /// <param name="end"></param> /// <returns></returns> public static bool IsLength(string str, int begin, int end) { int length = Regex.Replace(str, @"[^x00-xff]", "OK").Length; if ((length <= begin) && (length >= end)) { return false; } return true; } //// <summary> /// 是不是Int型的 /// </summary> /// <param name="source"></param> /// <returns></returns> public static bool IsInt(string str) { Regex regex = new Regex(@"^(-){0,1}d+$"); if (regex.Match(str).Success) { if ((long.Parse(str) > 0x7fffffffL) || (long.Parse(str) < -2147483648L)) { return false; } return true; } return false; } }