页面数据校验类

using System;
using System.Text;
using System.Web;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;

namespace SmartERP.Until
{
    /// <summary>
    ///页面数据校验类  
    /// 修改自 李天平先生
    /// </summary>
    public class DataCheck
    {

        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 DataCheck()
        {
        }
        #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;
        }

        /// <summary>
        /// 是否是整数、浮点数
        /// </summary>
        /// <param name="inputDat">输入字符串</param>
        /// <returns></returns>
        public static bool IsAllNumber(string inputDat)
        {
           if (IsNumber(inputDat) || IsDecimal(inputDat))
            {
                return true;

            }
            else
            {
                return false;
            }
       
        }

        /// <summary>
        /// 数字是否所要求的位数
        /// </summary>
        /// <param name="inpuntData">输入字符串</param>
        /// <param name="Median">位数</param>
        /// <returns></returns>
        public static bool IsNumberMedian(string inpuntData, int Median)
        {

            if (IsNumber(inpuntData))
            {
                if (inpuntData.Length < Median)
                {
                    return false;
                }
                else
                {
                    return true;

                }
            }
            else
            {
               
                return IsNumber(inpuntData);
            }
        }

        #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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值