网站技术
当前目录:首页 >> 新闻中心 >> 网站技术

【C#】常用到的正则验证操作类

发布人:卓伟软件
发布日期:2014-05-14 10:48:08
浏览次数:1323

using System;

using System.Collections.Generic;

using System.Text;

using System.Text.RegularExpressions;

namespace XiaoFeng

{

   /// <summary>

   /// 验证类

   ///作者:jacky QQ:7092734 http://www.d369.net

   /// 如果要转载请保留版权和保留转载地址,谢谢合作

   /// </summary>

   public class RegexHelper

   {

       /// <summary>

       /// 出错属性

       /// </summary>

       private static string ErrorMessage = "";


       #region 出错信息

       /// <summary>

       /// 出错信息

       /// </summary>

       public static string ErrMessage

       {

           get { return ErrorMessage; }

       }

       #endregion


       #region 验证字符是否是汉字类型

       /// <summary>

       /// 验证字符是否是汉字类型[如果是true则是字母类型]

       /// </summary>

       /// <param name="Str">字符串名</param>

       /// <returns></returns>

       public static bool isChinese(string Str)

       {

           return Regex.IsMatch(Str, @"^[\u4e00-\u9fa5?,“”‘’。、;:]+$");

       }

       #endregion


       #region 验证字符是否是字母类型

       /// <summary>

       /// 验证字符是否是字母类型[如果是true则是字母类型]

       /// </summary>

       /// <param name="Str">字符串名</param>

       /// <returns></returns>

       public static bool isLetter(string Str)

       {

           return Regex.IsMatch(Str, @"^[a-zA-Z]+$");

       }

       #endregion


       #region 验证字符是否是数字类型

       /// <summary>

       /// 验证字符是否是数字类型[如果是true则是数字类型]

       /// </summary>

       /// <param name="Str">字符串名</param>

       public static bool IsNum(string Str)

       {

           return Regex.IsMatch(Str, @"^-?\d+$");

       }

       #endregion


       #region 验证字符是不是浮点类型

       /// <summary>

       /// 验证字符是不是浮点类型[如果是true则是浮点类型]

       /// </summary>

       /// <param name="Str">字符串名</param>

       /// <returns></returns>

       public static bool isFloat(string Str)

       {

           return Regex.IsMatch(Str, @"^\d+[.]?\d+$");

       }

       #endregion


       #region 验证字符是否是Email格式

       /// <summary>

       /// 验证字符是否是Email格式[如果是true则是Email格式]

       /// </summary>

       /// <param name="Str">要验证的字符串</param>

       public static bool IsEmail(string Str)

       {

           return Regex.IsMatch(Str, @"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");

       }

       #endregion


       #region 验证电话格式

       /// <summary>

       /// 验证字符是否是Tel格式[如果是true则是电话格式]

       /// </summary>

       /// <param name="Str">要验证的字符串</param>

       public static bool IsTel(string Str)

       {

           return Regex.IsMatch(Str, @"^([+0]?86)?[-/]?(((0\d{2,3})|\d{2,3})[-/]?)?[1-9]\d{6,7}$");

       }

       #endregion


       #region 验证是否是手机

       /// <summary>

       /// 验证是否是手机[如果是true则是手机格式]

       /// </summary>

       /// <param name="Str">要验证的字符串</param>

       public static bool IsMobile(string Str)

       {

           return Regex.IsMatch(Str, @"^([+0]?86[-/]?)?0?1[3568]\d{9}$");

       }

       #endregion


       #region 验证是否是网址

       /// <summary>

       /// 验证是否是网址[如果是true则是网址格式]

       /// </summary>

       /// <param name="Str">要验证的字符串</param>

       public static bool IsUrl(string Str)

       {

           return Regex.IsMatch(Str, @"^http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$");

       }

       #endregion


       #region 验证字符串是否是日期类型

       /// <summary>

       /// 验证字符串是否是日期类型[如果是true则是日期类型]

       /// </summary>

       /// <param name="Str">要验证的字符串</param>

       /// <returns></returns>

       public static bool IsDate(string Str)

       {

           return Regex.IsMatch(Str, @"^(\d{2}|\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$");

       }

       #endregion


       #region 验证字符串是否是时间类型

       /// <summary>

       /// 验证字符串是否是时间类型[如果是true则是时间类型]

       /// </summary>

       /// <param name="Str">要验证的字符串</param>

       /// <returns></returns>

       public static bool isTime(string Str)

       {

           return Regex.IsMatch(Str, @"^\d{1,2}\:\d{1,2}\:\d{1,2}$");

       }

       #endregion


       #region 验证字符串是否是日期时间类型

       /// <summary>

       /// 验证字符串是否是日期时间类型[如果是true则是日期时间类型]

       /// </summary>

       /// <param name="Str">要验证的字符串</param>

       /// <returns></returns>

       public static bool isDateTime(string Str)

       {

           return Regex.IsMatch(Str, @"^(\d{2}|\d{4})(-|\/)(\d{1,2})\2(\d{1,2})\s\d{1,2}\:\d{1,2}\:\d{1,2}$");

       }

       #endregion


       #region 验证字符串是否是QQ类型

       /// <summary>

       /// 验证字符串是否是QQ类型[如果是true则是日期类型]

       /// </summary>

       /// <param name="Str">要验证的字符串</param>

       /// <returns></returns>

       public static bool IsQQ(string Str)

       {

           return Regex.IsMatch(Str, @"^\d{5,10}$");

       }

       #endregion


       #region 验证字符串是否是IP类型

       /// <summary>

       /// 验证字符串是否是IP类型[如果是true则是IP类型]

       /// </summary>

       /// <param name="IP">IP</param>

       /// <returns></returns>

       public static Boolean isIP(string IP)

       {

           return Regex.IsMatch(IP, @"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}");

       }

       #endregion


       #region 转换字符串为数字

       /// <summary>

       /// 转换字符串为数字

       /// </summary>

       /// <param name="Str">要验证的字符</param>

       /// <param name="dInt">默认值</param>

       /// <returns></returns>

       public static int cInt(string Str, int dInt)

       {

           if (!IsNum(Str) || string.IsNullOrEmpty(Str)) return dInt;

           return Convert.ToInt32(Str);

       }

       /// <summary>

       /// 转换字符串为数字

       /// </summary>

       /// <param name="Str">要验证的字符</param>

       /// <returns></returns>

       public static int cInt(string Str)

       {

           return cInt(Str, 0);

       }

       #endregion


       #region 转换字符串为日期

       /// <summary>

       /// 转换字符串为日期

       /// </summary>

       /// <param name="Str">要验证的字符</param>

       /// <param name="format">格式</param>

       /// <returns></returns>

       public static string cDate(string Str, string format)

       {

           if (!isDateTime(Str) && !IsDate(Str) && !isTime(Str)) Str = DateTime.Now.ToString();

           return Convert.ToDateTime(Str).ToString(format);

       }

       /// <summary>

       /// 转换字符串为日期

       /// </summary>

       /// <param name="Str">要验证的字符</param>

       /// <returns></returns>

       public static string cDate(string Str)

       {

           return cDate(Str, "yyyy-MM-dd");

       }

       /// <summary>

       /// 获得当前是日期

       /// </summary>

       /// <returns></returns>

       public static string cDate()

       {

           return cDate(DateTime.Now.ToString());

       }

       #endregion


       #region 验证用户帐号是否符合规则

       /// <summary>

       /// 验证用户帐号是否符合规则

       /// </summary>

       /// <param name="Str">字符串</param>

       /// <returns></returns>

       public static bool IsRuleUser(string Str)

       {

           return Regex.IsMatch(Str, @"(^[a-zA-Z0-9]+[-_@.$]*[a-zA-Z0-9]+$)");

       }

       #endregion


       #region 用正则表达式提取字符串中的信息

       /// <summary>

       /// 用正则表达式提取字符串中的信息/*@"wd=+\w*"*/

       /// </summary>

       /// <param name="Regex">正则表达式</param>

       /// <param name="Str">主字符串</param>

       /// <returns>符合正则表达式的字符</returns>

       public static string RegexQueryString(string Regex, string Str)

       {

           try

           {

               string QueryStr = "";

               string RegStr = @"" + Regex + "";

               Regex r = new Regex(RegStr);

               Match M = r.Match(Str);

               if (M.Success)

               {

                   QueryStr = Str.Substring(M.Index, M.Length);

               }

               else

               {

                   QueryStr = "";

               }

               return QueryStr;

           }

           catch (Exception e)

           {

               ErrorMessage = "提取字符出错:" + e.Message;

               Error.WriteLog(e);

               return "";

           }

       }

       #endregion

   }

}


下一条:没有下一条了
Copyright © 2010 - 2015 Zhuovi. All Rights Reserved
联系电话:15837199978  E-Mail:service@zhuovi.com  在线QQ:点击这里给我发消息 点击这里给我发消息  备案号:豫ICP备14022191号
郑州网站建设 | 河南网站建设 | 郑州软件 | 河南软件 | 办公软件 | 移动短信 | 注册域名 | 虚拟空间,网站空间 | 群发短信 | 网站优化 | 网站推广 | 优化技术 | 郑州作网站 | 河南作网站
在线咨询 返回顶部