c#页面验证类DataValidate代码

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

namespace Tools.Common
{
    /// <summary>
    /// 页面验证类
    /// </summary>
    public class DataValidate
    {
        private static Regex RegPhone = new Regex(@"^(1\d{10})|(\d{3,4}[-]\d{6,8})$");

        /// <summary>
        /// 纯数字,无正负号
        /// </summary>
        private static Regex RegNumber = new Regex("^[0-9]+$");
        /// <summary>
        /// 纯数字,可能有正负号
        /// </summary>
        private static Regex RegNumberSign = new Regex("^[+-]?[0-9]+$");
        /// <summary>
        /// 可能有有小数点的数字
        /// </summary>
        private static Regex RegDecimal = new Regex(@"^(\d+[.]\d+)|(\d+)$");
        /// <summary>
        /// 可能有小数点,也有可能有正负号的数字
        /// </summary>
        private static Regex RegDecimalSign = new Regex(@"^[+-]?((\d+[.]\d+)|(\d+))$"); //等价于^[+-]?\d+[.]?\d+$
        /// <summary>
        /// Email地址
        /// </summary>
        private static Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info|com.cn)$");
        /// <summary>
        /// 是否有中文
        /// </summary>
        private static Regex RegCHZN = new Regex("[\u4e00-\u9fa5]");

        /// <summary>
        /// 是否为int数据
        /// </summary>
        private static Regex RegInt = new Regex(@"^(-){0,1}\d+$");

        #region 是否是中国的电话号码
        /// <summary>
        /// 是否是中国的电话号码
        /// </summary>
        /// <param name="inputData">输入的字符串</param>
        /// <returns></returns>
        public static bool IsPhone(string inputData)
        {

            Match m = RegPhone.Match(inputData);

            return m.Success;

        }
        #endregion

        #region 获取Request请求字符串的键值
        /// <summary>
        /// 获取Request请求字符串的键值
        /// </summary>
        /// <param name="req">Request</param>
        /// <param name="inputKey">Request的键值</param>
        /// <returns>返回Request请求字符串</returns>
        public static string GetRequest(HttpRequest req, string inputKey)
        {
            string retVal = string.Empty;
            if (inputKey != null && inputKey != string.Empty)
            {
                retVal = req.QueryString[inputKey];
                if (null == retVal) retVal = req.Form[inputKey];
            }

            if (retVal == null) retVal = string.Empty;
            return retVal;
        }
        #endregion

        #region 是否数字字符串
        /// <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;

        }
        #endregion

        #region 是否是浮点数
        /// <summary>
        /// 是否是浮点数
        /// </summary>
        /// <param name="inputData">输入字符串</param>
        /// <returns></returns>
        public static bool IsDecimal(string inputData)
        {
            decimal d1;
            return decimal.TryParse(inputData, out d1);
        }

        /// <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 字符串编码HtmlEncode
        /// <summary>
        /// 字符串编码HtmlEncode
        /// </summary>
        /// <param name="inputData"></param>
        /// <returns></returns>
        public static string HtmlEncode(string inputData)
        {
            return HttpUtility.HtmlEncode(inputData);

        }
        #endregion

        #region 设置Label显示Encode的字符串
        /// <summary>
        /// 设置Label显示Encode的字符串
        /// </summary>
        /// <param name="lbl"></param>
        /// <param name="txtInput"></param>
        public static void SetLabel(Label lbl, string txtInput)
        {
            lbl.Text = HtmlEncode(txtInput);
        }
        #endregion

        #region 字符串清理
        /// <summary>
        /// 字符串清理
        /// </summary>
        /// <param name="inputString">输入的字符串</param>
        /// <param name="maxLength">保留的长度</param>
        /// <returns></returns>
        public static string ClearText(string inputString, int maxLength)
        {

            StringBuilder retVal = new StringBuilder();
            // 检查是否为空
            if ((inputString != null) && (inputString != String.Empty))
            {
                inputString = inputString.Trim();
                //检查长度
                if (inputString.Length > maxLength)
                {
                    inputString = inputString.Substring(0, maxLength);
                }

                //替换危险字符
                for (int i = 0; i < inputString.Length; i++)
                {
                    switch (inputString[i])
                    {
                        case '"':
                            retVal.Append(""");
                            break;

                        case '<':

                            retVal.Append("<");
                            break;
                        case '>':
                            retVal.Append(">");
                            break;
                        default:
                            retVal.Append(inputString[i]);
                            break;
                    }
                }
                retVal.Replace("'", " ");// 替换单引号

            }

            return retVal.ToString();

        }
        #endregion

        #region  HTML Encode/Decode
        /// <summary>
        /// 转换成 HTML code
        /// </summary>
        /// <param name="str">string</param>
        /// <returns>string</returns>
        public static string Encode(string str)
        {
            str = str.Replace("&", "&");
            str = str.Replace("'", "''");
            str = str.Replace("\"", """);
            str = str.Replace(" ", " ");
            str = str.Replace("<", "<");
            str = str.Replace(">", ">");
            str = str.Replace("\n", "<br>");
            return str;
        }

        /// <summary>
        ///解析html成 普通文本
        /// </summary>
        /// <param name="str">string</param>
        /// <returns>string</returns>
        public static string Decode(string str)
        {
            str = str.Replace("<br>", "\n");
            str = str.Replace(">", ">");
            str = str.Replace("<", "<");
            str = str.Replace(" ", " ");
            str = str.Replace(""", "\"");
            return str;
        }
        #endregion

        #region 清理字符串
        /// <summary>
        /// 清理字符串
        /// </summary>
        /// <param name="sqlText"></param>
        /// <returns></returns>
        public static string SqlTextClear(string sqlText)
        {
            if (sqlText == null)
            {
                return null;
            }
            if (sqlText == "")
            {
                return "";
            }
            sqlText = sqlText.Replace(",", "");//去除,
            sqlText = sqlText.Replace("<", "");//去除<
            sqlText = sqlText.Replace(">", "");//去除>
            sqlText = sqlText.Replace("--", "");//去除--
            sqlText = sqlText.Replace("'", "");//去除'
            sqlText = sqlText.Replace("\"", "");//去除"
            sqlText = sqlText.Replace("=", "");//去除=
            sqlText = sqlText.Replace("%", "");//去除%
            sqlText = sqlText.Replace(" ", "");//去除空格
            return sqlText;
        }
        #endregion

        #region 是否由特定字符组成
        /// <summary>
        /// 是否由特定字符组成
        /// </summary>
        /// <param name="strInput">要检测的字符串</param>
        /// <returns></returns>
        public static bool isContainSameChar(string strInput)
        {

            string charInput = string.Empty;

            if (!string.IsNullOrEmpty(strInput))
            {

                charInput = strInput.Substring(0, 1);

            }

            return isContainSameChar(strInput, charInput);

        }
        /// <summary>
        /// 是否由特定字符组成2
        /// </summary>
        /// <param name="strInput">要检测的字符串</param>
        /// <param name="charInput">是否包含的字符</param>
        /// <returns></returns>
        public static bool isContainSameChar(string strInput, string charInput)
        {

            if (string.IsNullOrEmpty(charInput))
            {
                return false;
            }
            else
            {
                Regex RegNumber = new Regex(string.Format("^([{0}])+$", charInput));
                //Regex RegNumber = new Regex(string.Format("^([{0}]{{1}})+$", charInput,lenInput));
                Match m = RegNumber.Match(strInput);
                return m.Success;
            }
        }
        #endregion

        #region 检查输入的是不是某些定义好的字符
        /// <summary>
        /// 检查输入的是不是某些定义好的字符:用于密码输入的安全检查
        /// </summary>
        /// <param name="strInput">要检测的字符串</param>
        /// <returns></returns>
        public static bool isContainSpecChar(string strInput)
        {
            string[] list = new string[] { "123456", "654321" };
            bool result = new bool();
            for (int i = 0; i < list.Length; i++)
            {
                if (strInput == list[i])
                {
                    result = true;
                    break;
                }
            }
            return result;
        }
        #endregion

        #region 是不是int范围数据
        /// <summary>
        /// 是不是int范围数据
        /// </summary>
        /// <param name="inputData"></param>
        /// <returns></returns>
        public static bool IsInt(string inputData)
        {

            if (RegInt.Match(inputData).Success)
            {
                if ((long.Parse(inputData) > 0x7fffffffL) || (long.Parse(inputData) < -2147483648L))
                {
                    return false;
                }
                return true;
            }
            return false;
        }
        #endregion

        #region 是否是邮编号码
        /// <summary>
        /// 是否是邮编号码
        /// </summary>
        /// <param name="inputData"></param>
        /// <returns></returns>
        public static bool IsPostCode(string inputData)
        {
            return Regex.IsMatch(inputData, @"^\d{6}$", RegexOptions.IgnoreCase);
        }
        #endregion

        #region 是不是字母、数字、下划线的组合
        /// <summary>
        /// 是不是字母、数字、下划线的组合
        /// </summary>
        /// <param name="inputData"></param>
        /// <returns></returns>
        public static bool IsNormalChar(string inputData)
        {
            return Regex.IsMatch(inputData, @"[\w\d_]+", RegexOptions.IgnoreCase);
        }
        #endregion

        #region 是不是日期类型
        /// <summary>
        /// 是不是日期类型
        /// </summary>
        /// <param name="inputData"></param>
        /// <returns></returns>
        public static bool IsDataTime(string inputData)
        {
            DateTime dt1;
            return DateTime.TryParse(inputData, out dt1);
        }
        #endregion

    }
}
时间: 2024-10-23 03:52:32

c#页面验证类DataValidate代码的相关文章

跨域网站实现了单点登录,但各网站的每个页面继承验证类,导致页面加载时 刷新两次

问题描述 跨域网站实现了单点登录,但各网站的每个页面继承验证类,导致页面加载时刷新两次各网站加载较慢单点登录原理是各网站的用户凭证保存到验证服务器的cache中请问有什么异步方法不让每个页面都刷新一次谢谢 解决方案 解决方案二:每个页面都访问单点登录系统?什么情况?你的网站,如果没有登录信息,才需要访问单点登录网页.而如果已经登陆过,你的网页该干什么还干什么.从单点登录网页重定向回到当前网站页面之后,当前网站应该从单点登录网站(根据传来的url参数)把用户的信息取过来保存,以后在打开别的页面时就

PHP代码实现表单数据验证类_php实例

下面通过一段PHP代码实现表单数据验证类,具体介绍如下: 非常好用方便的表单数据验证类 <?php //验证类 class Fun{ function isEmpty($val) { if (!is_string($val)) return false; //是否是字符串类型 if (empty($val)) return false; //是否已设定 if ($val=='') return false; //是否为空 return true; } /* -------------------

Android常用正则表达式验证工具类(实例代码)

东西不多,但一般项目够用了. public class RegularUtil { //身份证 public static final String REGEX_ID_CARD = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$"; //验证邮箱 public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\

Android实现短信验证功能的代码_Android

在我们现在开发APP过程中,当用户注册时,短信验证是必不可少的操作,这里我们就是用一个免费的第三方短信验证SDK-MOP 首先看下效果图 获取AppKey和AppSecret 首先进入官网,登录(没有帐号的自己去注册一个).鼠标移动到右侧头像处,点击进入后台. 官网首页 选择SecurityCodeSDK. 选择短信SDK 进入后台页面后,点击添加按钮.填写应用名称(这个可以随便写).选择Android后,点击添加即可.   添加应用 添加成功后,就会进入以下界面,在这里就可以看到刚刚申请成功的

Ajax+Struts2实现验证码验证功能实例代码_AJAX相关

众所周知,验证码在我们的生活中都是非常常见的,很多公司都在各种折腾各种各样的验证码,这里简要的用一个小案例来实现验证码的功能(ps:其实我挺讨厌验证码这个东西的). 今天分享的是通过ajax来动态的验证验证码输入是否正确.我们这里采用的是ajax+struts2来做的这个验证. 我们新建一个web工程.然后需要导入struts的相应包.之后我们需要写一个类来生成验证码. 这里命名为01_image.jsp,这类的主要功能就是生成验证码,里面是各种画线条,随机数字等,我这里设置的是5个数字的验证,

Ajax+Struts2实现验证码验证功能实例代码

众所周知,验证码在我们的生活中都是非常常见的,很多公司都在各种折腾各种各样的验证码,这里简要的用一个小案例来实现验证码的功能(ps:其实我挺讨厌验证码这个东西的). 今天分享的是通过ajax来动态的验证验证码输入是否正确.我们这里采用的是ajax+struts2来做的这个验证. 我们新建一个web工程.然后需要导入struts的相应包.之后我们需要写一个类来生成验证码. 这里命名为01_image.jsp,这类的主要功能就是生成验证码,里面是各种画线条,随机数字等,我这里设置的是5个数字的验证,

在 HTML 页面中添加 VBScript 代码

vbscript|页面 SCRIPT 元素用于将 VBScript 代码添加到 HTML 页面中. <SCRIPT> 标记 VBScript 代码写在成对的 <SCRIPT> 标记之间.例如,以下代码为一个测试传递日期的过程: <SCRIPT LANGUAGE="VBScript"> <!-- Function CanDeliver(Dt) CanDeliver = (CDate(Dt) - Now()) > 2 End Function

表单验证类 Validator for PHP

表单验证 文件保存为form_Validate.php PHP代码 <title>表单验证类 Validator for PHP β</title> <style> body,td{font:normal 12px Verdana;color:#333333} input,textarea,select,td{font:normal 12px Verdana;color:#333333;border:1px solid #999999;background:#fffff

asp中一个简单的用户登陆验证类

源代码如下: <%'========================================================================== ' ' 用户登陆身份验证类 ' ' NAME: CheckLogin ' ' AUTHOR: Infozero ' DATE : 2006-5-28 ' ' COMMENT: 用户登陆身份验证类 ' '================================================================