using System; using System.Text.RegularExpressions; namespace XkCms.Common.Utils { /**//// <summary> /// 提供经常需要使用的一些验证逻辑。 /// </summary> public class Validator { /**//// <summary> /// 检查一个字符串是否可以转化为日期,一般用于验证用户输入日期的合法性。 /// </summary> /// <param name="_value">需验证的字符串。</param> /// <returns>是否可以转化为日期的bool值。</returns> public static bool IsStringDate(string _value) { DateTime dt; try { dt = DateTime.Parse(_value); } catch (FormatException) { return false; } return true; } /**//// <summary> /// 把字符串转成日期 /// </summary> /// <param name="_value">字符串</param> /// <param name="_defValue">默认值</param> /// <returns></returns> public static DateTime StrToDate(string _value, DateTime _defValue) { if (IsStringDate(_value)) return Convert.ToDateTime(_value); else return _defValue; } /**//// <summary> /// 检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。 /// </summary> /// <param name="_value">需验证的字符串。。</param> /// <returns>是否合法的bool值。</returns> public static bool IsNumberId(string _value) { return Validator.QuickValidate("^[1-9]*[0-9]*$", _value); } /**//// <summary> /// 检查一个字符串是否是纯字母和数字构成的,一般用于查询字符串参数的有效性验证。 /// </summary> /// <param name="_value">需验证的字符串。</param> /// <returns>是否合法的bool值。</returns> public static bool IsLetterOrNumber(string _value) { return Validator.QuickValidate("^[a-zA-Z0-9_]*$", _value); } /**//// <summary> /// 判断是否是数字,包括小数和整数。 /// </summary> /// <param name="_value">需验证的字符串。</param> /// <returns>是否合法的bool值。</returns> public static bool IsNumber(string _value) { return Validator.QuickValidate("^(0|([1-9]+[0-9]*))(.[0-9]+)?$", _value); } /**//// <summary> /// 把字符串转成整型 /// </summary> /// <param name="_value">字符串</param> /// <param name="_defValue">默认值</param> /// <returns></returns> public static int StrToInt(string _value, int _defValue) { if (IsNumber(_value)) return int.Parse(_value); else return _defValue; } /**//// <summary> /// 快速验证一个字符串是否符合指定的正则表达式。 /// </summary> /// <param name="_express">正则表达式的内容。</param> /// <param name="_value">需验证的字符串。</param> /// <returns>是否合法的bool值。</returns> public static bool QuickValidate(string _express, string _value) { if (_value == null) return false; System.Text.RegularExpressions.Regex myRegex = new System.Text.RegularExpressions.Regex(_express); if (_value.Length == 0) { return false; } return myRegex.IsMatch(_value); } }} 转载于:https://www.cnblogs.com/LiJun027/archive/2007/12/26/1016071.html