using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace Ella.ToolKit { /// <summary> /// 验证 /// <para/>Author : AnDequan /// <para/>Date : 2010-12-23 /// </summary> public sealed class ValidateHelper : Singleton<ValidateHelper> { /// <summary> /// 验证非空 /// <para/>Author : AnDequan /// <para/>Date : 2010-12-23 /// </summary> /// <param name="value">要验证的字符串</param> /// <returns>true - 非空,false - 空</returns> public bool NotEmpty(string value) { return !string.IsNullOrEmpty(value) && value.Trim().Length > 0; } /// <summary> /// 验证URL /// <para/>Author : AnDequan /// <para/>Date : 2010-12-23 /// </summary> /// <param name="url">url地址</param> /// <returns>true - 正确,false - 不正确</returns> public bool IsRightUrl(string url) { return Regex.IsMatch(url, "http(s)?://([//w-]+//.)+[//w-]+(//[w-.//?%&=]*)?"); } /// <summary> /// 验证IP /// <para/>Author : AnDequan /// <para/>Date : 2010-12-23 /// </summary> /// <param name="ip">ip地址</param> /// <returns>true - IP正确,false - 不正确 </returns> public bool IsRightIP(string ip) { string[] sLines = new string[4]; sLines = ip.Split('.'); foreach (string item in sLines) { if (Regex.IsMatch(item, @"/d*")) { if (Convert.ToInt32(item) >= 255) { return false; } } else { return false; } } return true; } /// <summary> /// 判断数字 /// </summary> /// <param name="value">要验证的值</param> /// <returns>true - 是数字,否则反之</returns> public bool IsNumber(string value) { return Regex.IsMatch(value, "^[0-9]*$"); } /// <summary> /// 判断带小数点 /// </summary> /// <param name="value">要验证的值</param> /// <returns>true - 带小数点,否则反之</returns> public bool IsWithPoint(string value) { return Regex.IsMatch(value, "^[0-9]+(.[0-9]{2})?$"); } /// <summary> /// 判断是否英文大写 /// </summary> /// <param name="value">验证字符串</param> /// <returns>true - 是,false - 否</returns> public bool IsEnglishUpper(string value) { return Regex.IsMatch(value, "^[A-Z]+$"); } /// <summary> /// 判断是否英文 /// </summary> /// <param name="value">验证字符串</param> /// <returns></returns> public bool IsEnglish(string value) { return Regex.IsMatch(value, "^[A-Za-z]+$"); } /// <summary> /// 判断邮箱地址 /// </summary> /// <param name="sValue"></param> /// <returns></returns> public bool IsEmail(string sValue) { return Regex.IsMatch(sValue, @"^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$"); } /// <summary> /// 判断电话号码 /// </summary> /// <param name="sValue"></param> /// <returns></returns> public bool IsTelePhone(string sValue) { return Regex.IsMatch(sValue, @"(^(/d{3,4}-)?/d{7,8})$|(13|15|18[0-9]{9})"); } /// <summary> /// 判断网站地址 /// </summary> /// <param name="sValue"></param> /// <returns></returns> public bool IsInternalAddress(string sValue) { return Regex.IsMatch(sValue, @"^http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)?$"); } } }