常用数据检查类

来源:互联网 发布:mac同步iphone照片 编辑:程序博客网 时间:2024/06/18 12:02
using System;   
using System.Text;   
using System.Web;   
using System.Web.UI.WebControls;   
using System.Text.RegularExpressions;   
namespace Legalsoft.Wizard.Basic // 设置项目属性可修改本项目的命名空间   
{   
   /// <summary>   
   /// 页面数据校验类   
   /// 修改自 李天平先生的作品,一并感谢。   
   /// </summary>   
   public class PageValidate   
   {   
      private static Regex RegNumber = new Regex("^[0-9]+$");   
      private static Regex RegNumberSign = new Regex("^[+-]?[0-9]+$");   
      private static Regex RegDecimal = new Regex("^[0-9]+[.]?[0-9]+$");   
      //等价于^[+-]?\d+[.]?\d+$   
      private static Regex RegDecimalSign = new Regex("^[+-]?[0-9]+[.]?[0-9]+$");    
      //w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样    
      private static Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");   
      private static Regex RegCHZN = new Regex("[\u4e00-\u9fa5]");   
      public PageValidate()   
      {   
      }  
      #region 数字字符串检查         
      /// <summary>   
      /// 检查Request查询字符串的键值,是否是数字,最大长度限制   
      /// </summary>   
      /// <param name="req">Request</param>   
      /// <param name="inputKey">Request的键值</param>   
      /// <param name="maxLen">最大长度</param>   
      /// <returns>返回Request查询字符串</returns>   
      public static string IsDigit(HttpRequest req, string inputKey, int maxLen)   
      {   
         string retVal = string.Empty;   
         if(inputKey != null && inputKey != string.Empty)   
         {   
            retVal = req.QueryString[inputKey];   
            if(null == retVal)   
               retVal = req.Form[inputKey];   
            if(null != retVal)   
            {   
               retVal = SqlText(retVal, maxLen);   
               if(!IsNumber(retVal))   
                  retVal = string.Empty;   
            }   
         }   
         if(retVal == null)   
            retVal = string.Empty;   
         return retVal;   
      }   
      /// <summary>   
      /// 是否数字字符串   
      /// </summary>   
      /// <param name="inputData">输入字符串</param>   
      /// <returns></returns>   
      public static bool IsNumber(string inputData)   
      {   
         Match m = RegNumber.Match(inputData);   
         return m.Success;   
      }   
      /// <summary>   
      /// 是否数字字符串 可带正负号   
      /// </summary>   
      /// <param name="inputData">输入字符串</param>   
      /// <returns></returns>   
      public static bool IsNumberSign(string inputData)   
      {   
         Match m = RegNumberSign.Match(inputData);   
         return m.Success;   
      }   
      /// <summary>   
      /// 是否是浮点数   
      /// </summary>   
      /// <param name="inputData">输入字符串</param>   
      /// <returns></returns>   
      public static bool IsDecimal(string inputData)   
      {   
         Match m = RegDecimal.Match(inputData);   
         return m.Success;   
      }   
      /// <summary>   
      /// 是否是浮点数 可带正负号   
      /// </summary>   
      /// <param name="inputData">输入字符串</param>   
      /// <returns></returns>   
      public static bool IsDecimalSign(string inputData)   
      {   
         Match m = RegDecimalSign.Match(inputData);   
         return m.Success;   
      }       
      #endregion  
      #region 中文检测   
      /// <summary>   
      /// 检测是否有中文字符   
      /// </summary>   
      /// <param name="inputData"></param>   
      /// <returns></returns>   
      public static bool IsHasCHZN(string inputData)   
      {   
         Match m = RegCHZN.Match(inputData);   
         return m.Success;   
      }    
      #endregion  
      #region 邮件地址   
      /// <summary>   
      /// 是否是浮点数 可带正负号   
      /// </summary>   
      /// <param name="inputData">输入字符串</param>   
      /// <returns></returns>   
      public static bool IsEmail(string inputData)   
      {   
         Match m = RegEmail.Match(inputData);   
         return m.Success;   
      }       
      #endregion  
      #region 其他   
      /// <summary>   
      /// 检查字符串最大长度,返回指定长度的串   
      /// </summary>   
      /// <param name="sqlInput">输入字符串</param>   
      /// <param name="maxLength">最大长度</param>   
      /// <returns></returns>          
      public static string SqlText(string sqlInput, int maxLength)   
      {           
         if(sqlInput != null && sqlInput != string.Empty)   
         {   
            sqlInput = sqlInput.Trim();                        
            if(sqlInput.Length > maxLength)//按最大长度截取字符串   
               sqlInput = sqlInput.Substring(0, maxLength);   
         }   
         return sqlInput;   
      }   
      /// <summary>   
      /// 字符串编码   
      /// </summary>   
      /// <param name="inputData"></param>   
      /// <returns></returns>   
      public static string HtmlEncode(string inputData)   
      {   
         return HttpUtility.HtmlEncode(inputData);   
      }   
      /// <summary>   
      /// 设置Label显示Encode的字符串   
      /// </summary>   
      /// <param name="lbl"></param>   
      /// <param name="txtInput"></param>   
      public static void SetLabel(Label lbl, string txtInput)   
      {   
         lbl.Text = HtmlEncode(txtInput);   
      }   
      public static void SetLabel(Label lbl, object inputObj)   
      {   
         SetLabel(lbl, inputObj.ToString());   
      }       
      #endregion   
   }   
}  

0 0
原创粉丝点击