• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#实现对用户输入数据进行校验的类实例

C#实现对用户输入数据进行校验的类实例

作者:feige 字体:[增加 减小] 来源:互联网 时间:2017-05-28

feige 通过本文主要向大家介绍了c#动态修改ad用户数据,c#保存用户名密码,c#用户登录界面代码,c#用户控件,c#用户登录界面设计等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#实现对用户输入数据进行校验的类。分享给大家供大家参考。具体如下:

这个C#类包含了各种常用数据验证的函数,包含验证是否是数字,校验email格式,区分中英文截取字符串,区分中英文计算字符串长度,检测是否包含中文字符,判断是否包含特定字符等

using System;
using System.Text;
using System.Web;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
namespace DotNet.Utilities
{
  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]+$");
    private static Regex RegDecimalSign = new Regex("^[+-]?[0-9]+[.]?[0-9]+$"); //等价于^[+-]?\d+[.]?\d+$
    private static Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");//w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样
    private static Regex RegCHZN = new Regex("[\u4e00-\u9fa5]");
    public PageValidate()
    {
    }
 
    #region 数字字符串检查
    /// <summary>
    /// 格式化字符串
    /// </summary>
    /// <param name="inputData">源字符串</param>
    /// <param name="formatlevel">0:不做验证| 1:sql语句参数| 2:存储过程参数| 3:EncodeHtml| 4:Encode+sql| 5:Encode+存储过程</param>
    /// <returns>返回格式化后的字符串</returns>
    public static string FormatString(string inputData, int formatlevel)
    {
      return inputData;
    }
    /// <summary>
    /// 检查Request查询字符串的键值,是否是数字,最大长度限制
    /// </summary>
    /// <param name="req">Request</param>
    /// <param name="inputKey">Request的键值</param>
    /// <param name="maxLen">最大长度</param>
    /// <returns>返回Request查询字符串</returns>
    public static string FetchInputDigit(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;
    }
    public enum CheckType
    { None, Int, SignInt, Float, SignFloat, Chinese, Mail }
    /// <summary>
    /// 检测字符串类型
    /// </summary>
    /// <param name="inputData">输入字符串</param>
    /// <param name="checktype">0:不检测| 1:数字| 2:符号数字| 3: 浮点数| 4:符号浮点| 5: 中文?| 6:邮件?</param>
    /// <returns></returns>
    public static bool checkString(string inputData, int checktype)
    {
      bool _return = false;
      switch (checktype)
      {
        case 0:
          _return = true;
          break;
        case 1:
          _return = IsNumber(inputData);
          break;
        case 2:
          _return = IsNumberSign(inputData);
          break;
        case 3:
          _return = IsDecimal(inputData);
          break;
        case 4:
          _return = IsDecimalSign(inputData);
          break;
        case 5:
          _return = IsHasCHZN(inputData);
          break;
        case 6:
          _return = IsEmail(inputData);
          break;
        default:
          _return = false;
          break;
      }
      return _return;
    }
    /// <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
    public static string GetShortDate(string dt)
    {
      return Convert.ToDateTime(dt).ToShortDateString();
    }
    #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
    #region 对于用户权限从数据库中读出的解密过程
    public static string switch_riddle(string s_ch)//解密
    {
      string s_out, s_temp, temp;
      int i_len = s_ch.Length;
      if (i_len == 0 || s_ch == "")
      {
        s_out = "0";
      }
      temp = "";
      s_temp = "";
      s_out = "";
      for (int i = 0; i <= i_len - 1; i++)
      {
        temp = s_ch.Substring(i, 1);
        switch (temp)
        {
          case "a": s_temp = "1010";
            break;
          case "b": s_temp = "1011";
            break;
          case "c": s_temp = "1100";
            break;
          case "d": s_temp = "1101";
            break;
          case "e": s_temp = "1110";
            break;
          case "f": s_temp = "1111";
            break;
          



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#实现对用户输入数据进行校验的类实例

相关文章

  • 2017-05-28C#学习基础概念二十五问续2第1/2页
  • 2017-05-28详解C# 托管资源和非托管资源
  • 2017-05-28C#的WebBrowser的操作与注意事项介绍
  • 2017-05-28picturebox加载图片的三种方法与网站验证码的抓取
  • 2017-05-28C#中设置textbox限制条件的方法
  • 2017-05-28c# 获得局域网主机列表实例
  • 2017-05-28C#中List和数组之间转换的方法
  • 2017-05-28在类库或winform项目中打开另一个winform项目窗体的方法
  • 2017-05-28c#多线程的应用全面解析
  • 2017-05-28C# Guid.NewGuid获得随机数

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 深入理解C#序列化与反序列化的详解
    • C# ping网络IP 实现网络状态检测的方法
    • Winform窗体传值的方法(示例)
    • 在WCF数据访问中使用缓存提高Winform字段中文显示速度的方法
    • C#数组中List, Dictionary的相互转换问题
    • C#实现的几种委托方式介绍
    • C#查找字符串所有排列组合的方法
    • C#难点逐个击破(3):params数组参数
    • c# dataTable 合并两个列到一个新列中的简单实例
    • C#简单实现在网页上发邮件的案例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有