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

 更新时间:2020年6月25日 11:31  点击:1437

本文实例讲述了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;
          case "0": s_temp = "0000";
            break;
          case "1": s_temp = "0001";
            break;
          case "2": s_temp = "0010";
            break;
          case "3": s_temp = "0011";
            break;
          case "4": s_temp = "0100";
            break;
          case "5": s_temp = "0101";
            break;
          case "6": s_temp = "0110";
            break;
          case "7": s_temp = "0111";
            break;
          case "8": s_temp = "1000";
            break;
          case "9": s_temp = "1001";
            break;
          default: s_temp = "0000";
            break;
        }
        s_out = s_out + s_temp;
        s_temp = "";
      }
      return s_out;
    }
    #endregion
    #region 用户权限的加密过程
    public static string switch_encrypt(string s_ch)
    {
      string s_out, s_temp, temp;
      int i_len = 64;
      if (i_len == 0 || s_ch == "")
      {
        s_out = "0000";
      }
      temp = "";
      s_temp = "";
      s_out = "";
      for (int i = 0; i <= i_len - 1; i = i + 4)
      {
        temp = s_ch.Substring(i, 4);
        switch (temp)
        {
          case "1010": s_temp = "a";
            break;
          case "1011": s_temp = "b";
            break;
          case "1100": s_temp = "c";
            break;
          case "1101": s_temp = "d";
            break;
          case "1110": s_temp = "e";
            break;
          case "1111": s_temp = "f";
            break;
          case "0000": s_temp = "0";
            break;
          case "0001": s_temp = "1";
            break;
          case "0010": s_temp = "2";
            break;
          case "0011": s_temp = "3";
            break;
          case "0100": s_temp = "4";
            break;
          case "0101": s_temp = "5";
            break;
          case "0110": s_temp = "6";
            break;
          case "0111": s_temp = "7";
            break;
          case "1000": s_temp = "8";
            break;
          case "1001": s_temp = "9";
            break;
          default: s_temp = "0";
            break;
        }
        s_out = s_out + s_temp;
        s_temp = "";
      }
      return s_out;
    }//加密
    #endregion
    #region  访问权限
    public static bool CheckTrue(string s_admin, int a)
    {
      string s_temp = "";
      s_temp = s_admin.Substring(a - 1, 1);  //s_admin为全局变量
      if (s_temp == "" || s_temp == "1")
      {
        return true;
      }
      else
      {
        return false;
      }
    }
    #endregion
    #region  检测字符串长度
    /// <summary> 
    /// 计算文本长度,区分中英文字符,中文算两个长度,英文算一个长度
    /// </summary>
    /// <param name="Text">需计算长度的字符串</param>
    /// <returns>int</returns>
    public static int Text_Length(string Text)
    {
      int len = 0;
      for (int i = 0; i < Text.Length; i++)
      {
        byte[] byte_len = Encoding.Default.GetBytes(Text.Substring(i, 1));
        if (byte_len.Length > 1)
          len += 2; //如果长度大于1,是中文,占两个字节,+2
        else
          len += 1; //如果长度等于1,是英文,占一个字节,+1
      }
      return len;
    }
    #endregion
    #region  字符串长度区分中英文截取
    /// <summary> 
    /// 截取文本,区分中英文字符,中文算两个长度,英文算一个长度
    /// </summary>
    /// <param name="str">待截取的字符串</param>
    /// <param name="length">需计算长度的字符串</param>
    /// <returns>string</returns>
    public static string GetSubString(string str, int length)
    {
      string temp = str;
      int j = 0;
      int k = 0;
      for (int i = 0; i < temp.Length; i++)
      {
        if (Regex.IsMatch(temp.Substring(i, 1), @"[\u4e00-\u9fa5]+"))
        {
          j += 2;
        }
        else
        {
          j += 1;
        }
        if (j <= length)
        {
          k += 1;
        }
        if (j > length)
        {
          return temp.Substring(0, k) + "..";
        }
      }
      return temp;
    }
    #endregion
    #region 页面HTML格式化
    public static string GetHtml(string sDetail)
    {
      Regex r;
      Match m;
      #region 处理空格
      sDetail = sDetail.Replace(" ", "&nbsp;");
      #endregion
      #region 处理单引号
      sDetail = sDetail.Replace("'", "'");
      #endregion
      #region 处理双引号
      sDetail = sDetail.Replace("\"", "&quot;");
      #endregion
      #region html标记符
      sDetail = sDetail.Replace("<", "&lt;");
      sDetail = sDetail.Replace(">", "&gt;");
      #endregion
      #region 处理换行
      //处理换行,在每个新行的前面添加两个全角空格
      r = new Regex(@"(\r\n((&nbsp;)| )+)(?<正文>\S+)", RegexOptions.IgnoreCase);
      for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
      {
        sDetail = sDetail.Replace(m.Groups[0].ToString(), "<BR>  " + m.Groups["正文"].ToString());
      }
      //处理换行,在每个新行的前面添加两个全角空格
      sDetail = sDetail.Replace("\r\n", "<BR>");
      #endregion
      return sDetail;
    }
    #endregion
    #region 分页
    //public static string paging(string url, string para, int sumpage, int page)
    //{
    //  string result = string.Empty;
    //  if (sumpage == 1)
    //  {
    //    return result;
    //  }
    //  if (page > sumpage)
    //  {
    //    page = 1;
    //  }
    //  if (sumpage > 0)
    //  {
    //    for (int i = 1; i <= sumpage; i++)
    //    {
    //      if (i == page)
    //      {
    //        result += string.Format("<a class=\"a_page\" href=\"{0}?page={1}{2}\">{3}</a> ", new object[] { url, i.ToString(), para, i.ToString() });
    //      }
    //      else
    //      {
    //        result += string.Format("<a href=\"{0}?page={1}{2}\">{3}</a> ", new object[] { url, i.ToString(), para, i.ToString() });
    //      }
    //    }
    //  }
    //  return result;
    //}
    public static string paging(string url, string para, int sumpage, int page)
    {
      string result = string.Empty;
      if (sumpage == 1)
      {
        return result;
      }
      if (sumpage > 500)
      {
        sumpage = 500;
      }
      if (page > sumpage)
      {
        page = 1;
      }
      StringBuilder sb = new StringBuilder();
      if (sumpage > 0)
      {
        switch (page)
        {
          case 1:
            sb.Append(string.Format("<p class=\"next\"><a href=\"{0}?page={1}{2}\">{3}</a> ", new object[] { url, page + 1, para, "下一页" }));
            break;
          default:
            if (sumpage == page)
            {
              sb.Append(string.Format("<p class=\"next\"><a href=\"{0}?page={1}{2}\">{3}</a> ", new object[] { url, page - 1, para, "上一页" }));
            }
            else
            {
              sb.Append(string.Format("<p class=\"next\"><a href=\"{0}?page={1}{2}\">{3}</a> <a href=\"{4}?page={5}{6}\">{7}</a> ",
                new object[] { url, page + 1, para, "下一页", url, page - 1, para, "上一页" }));
            }
            break;
        }
        sb.Append(string.Format("第{0}/{1}页</p>", new object[] { page, sumpage }));
      }
      return sb.ToString();
    }
    public static string paging(string url, string para, int sumpage, int page, System.Web.UI.UserControl myPaging)
    {
      myPaging.Visible = false;
      string result = string.Empty;
      if (sumpage == 1)
      {
        return result;
      }
      if (sumpage > 500)
      {
        sumpage = 500;
      }
      if (page > sumpage)
      {
        page = 1;
      }
      StringBuilder sb = new StringBuilder();
      if (sumpage > 0)
      {
        myPaging.Visible = true;
        switch (page)
        {
          case 1:
            sb.Append(string.Format("<a href=\"{0}?page={1}{2}\">{3}</a> ", new object[] { url, page + 1, para, "下一页" }));
            break;
          default:
            if (sumpage == page)
            {
              sb.Append(string.Format("<a href=\"{0}?page={1}{2}\">{3}</a> ", new object[] { url, page - 1, para, "上一页" }));
            }
            else
            {
              sb.Append(string.Format("<a href=\"{0}?page={1}{2}\">{3}</a> <a href=\"{4}?page={5}{6}\">{7}</a> ",
                new object[] { url, page + 1, para, "下一页", url, page - 1, para, "上一页" }));
            }
            break;
        }
        sb.Append(string.Format("第{0}/{1}页", new object[] { page, sumpage }));
      }
      return sb.ToString();
    }
    public static string paging(string para, int sumpage, int page, int count)
    {
      string result = string.Empty;
      if (page > sumpage)
      {
        page = 1;
      }
      StringBuilder sb = new StringBuilder();
      if (sumpage > 0)
      {
        if (sumpage != 1)
        {
          switch (page)
          {
            case 1:
              sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a> ", new object[] { page + 1, para, "下一页" }));
              break;
            default:
              if (sumpage == page)
              {
                sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a> ", new object[] { page - 1, para, "上一页" }));
              }
              else
              {
                sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a> <a href=\"?page={3}{4}\">{5}</a> ",
                  new object[] { page - 1, para, "上一页", page + 1, para, "下一页" }));
              }
              break;
          }
        }
        sb.Append(string.Format("第{0}/{1}页 共{2}条", new object[] { page, sumpage, count }));
      }
      return sb.ToString();
    }
    public static void paging(string clinktail, int sumpage, int page, System.Web.UI.WebControls.Label page_view)
    {
      if (sumpage > 0)
      {
        int n = sumpage;  //总页数
        int x = page;  //得到当前页
        int i;
        int endpage;
        string pageview = "", pageviewtop = "";
        if (x > 1)
        {
          pageview += "&nbsp;&nbsp;<a class='pl' href='?page=1" + clinktail + "'>第1页</a> | ";
          pageviewtop += "&nbsp;&nbsp;<a class='pl' href='?page=1" + clinktail + "'>第1页</a> | ";
        }
        else
        {
          pageview += "&nbsp;&nbsp;<font color='#666666'> 第1页 </font> | ";
          pageviewtop += "&nbsp;&nbsp;<font color='#666666'> 第1页 </font> | ";
        }
        if (x > 1)
        {
          pageviewtop += " <a class='pl' href='?page=" + (x - 1) + "" + clinktail + "'>上1页</a> ";
        }
        else
        {
          pageviewtop += " <font color='#666666'>上1页</font> ";
        }
        if (x > ((x - 1) / 10) * 10 && x > 10)
        {
          pageview += "<a class='pl' href='?page=" + ((x - 1) / 10) * 10 + "" + clinktail + "' onclink='return false;'>上10页</a>";
        }
        //if (((x-1) / 10) * 10 + 10) >= n )
        if (((x - 1) / 10) * 10 + 10 >= n)
        {
          endpage = n;
        }
        else
        {
          endpage = ((x - 1) / 10) * 10 + 10;
        }
        for (i = ((x - 1) / 10) * 10 + 1; i <= endpage; ++i)
        {
          if (i == x)
          {
            pageview += " <font color='#FF0000'><b>" + i + "</b></font>";
          }
          else
          {
            pageview += " <a class='pl' href='?page=" + i + "" + clinktail + "'>" + i + "</a>";
          }
        }
        if (x < n)
        {
          pageviewtop += " <a class='pl' href='?page=" + (x + 1) + "" + clinktail + "'>下1页</a> ";
        }
        else
        {
          pageviewtop += " <font color='#666666'>下1页</font> ";
        }
        if (endpage != n)
        {
          pageview += " <a class='pl' href='?page=" + (endpage + 1) + "" + clinktail + "' class='pl' onclink='return false;'>下10页</a> | ";
        }
        else
        {
          pageview += " | ";
        }
        if (x < n)
        {
          pageview += " <a class='pl' href='?page=" + n + "" + clinktail + "' class='pl'>第" + n + "页</a> ";
          pageviewtop += " | <a class='pl' href='?page=" + n + "" + clinktail + "' class='pl'>第" + n + "页</a> ";
        }
        else
        {
          pageview += "<font color='#666666'> 第" + n + "页 </font>";
          pageviewtop += " | <font color='#666666'> 第" + n + "页 </font>";
        }
        page_view.Text = pageview.ToString();
      }
      else
      {
        page_view.Text = "";
      }
    }
    //带第一页和最后一页
    public static string paging2(string para, int sumpage, int page, int count)
    {
      string result = string.Empty;
      if (page > sumpage)
      {
        page = 1;
      }
      StringBuilder sb = new StringBuilder();
      if (sumpage > 0)
      {
        if (sumpage != 1)
        {
          //第一页
          sb.Append(string.Format("<a href=\"?page={0}{1}\"><img src=\"images/first-icon.gif\" border=\"0\"/></a>&nbsp;&nbsp;", new object[] { 1, para }));
          switch (page)
          {
            case 1:
              //前一页图片
              sb.Append(string.Format("<a>{0}</a>", new object[] { "<img src=\"images/left-icon.gif\" border=\"0\"/>" }));
              sb.Append(string.Format("<a>上一页</a><a href=\"?page={0}{1}\">{2}</a> ", new object[] { page + 1, para, "下一页" }));
              //后一页图片
              sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a>", new object[] { page + 1, para, "<img src=\"images/right-icon.gif\" border=\"0\"/>" }));
              break;
            default:
              if (sumpage == page)
              {
                //前一页图片
                sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a>", new object[] { page - 1, para, "<img src=\"images/left-icon.gif\" border=\"0\"/>" }));
                sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a><a>下一页</a> ", new object[] { page - 1, para, "上一页" }));
                //后一页图片
                sb.Append(string.Format("<a>{0}</a>", new object[] { "<img src=\"images/right-icon.gif\" />" }));
              }
              else
              {
                //前一页图片
                sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a>", new object[] { page - 1, para, "<img src=\"images/left-icon.gif\" border=\"0\"/>" }));
                sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a> <a href=\"?page={3}{4}\">{5}</a> ",
                  new object[] { page - 1, para, "上一页", page + 1, para, "下一页" }));
                //后一页图片
                sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a>", new object[] { page + 1, para, "<img src=\"images/right-icon.gif\" border=\"0\"/>" }));
              }
              break;
          }
          //最后一页图片
          sb.Append(string.Format("&nbsp;&nbsp;<a href=\"?page={0}{1}\"><img src=\"images/last-icon.gif\" border=\"0\"/></a>&nbsp;&nbsp;", new object[] { sumpage, para }));
        }
        sb.Append(string.Format("第{0}页/共{1}页 共{2}条", new object[] { page, sumpage, count }));
      }
      return sb.ToString();
    }
    public static string paging3(string url, string para, int sumpage, int page, int count)
    {
      string result = string.Empty;
      if (page > sumpage)
      {
        page = 1;
      }
      StringBuilder sb = new StringBuilder();
      if (sumpage > 0)
      {
        if (sumpage != 1)
        {
          //第一页
          sb.Append(string.Format("<a href=\"{2}?page={0}{1}\">首页</a>", new object[] { 1, para, url }));
          switch (page)
          {
            case 1:
              //前一页图片
              // sb.Append(string.Format("<a>{0}</a>", new object[] { "<img src=\"images/left-icon.gif\" border=\"0\"/>" }));
              sb.Append(string.Format("<a>上一页</a><a href=\"{3}?page={0}{1}\">{2}</a> ", new object[] { page + 1, para, "下一页", url }));
              //后一页图片
              // sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a>", new object[] { page + 1, para, "<img src=\"images/right-icon.gif\" border=\"0\"/>" }));
              break;
            default:
              if (sumpage == page)
              {
                //前一页图片
                //sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a>", new object[] { page - 1, para, "<img src=\"images/left-icon.gif\" border=\"0\"/>" }));
                sb.Append(string.Format("<a href=\"{3}?page={0}{1}\">{2}</a><a>下一页</a> ", new object[] { page - 1, para, "上一页", url }));
                //后一页图片
                //sb.Append(string.Format("<a>{0}</a>", new object[] { "<img src=\"images/right-icon.gif\" />" }));
              }
              else
              {
                //前一页图片
                //sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a>", new object[] { page - 1, para, "<img src=\"images/left-icon.gif\" border=\"0\"/>" }));
                sb.Append(string.Format("<a href=\"{6}?page={0}{1}\">{2}</a> <a href=\"{6}?page={3}{4}\">{5}</a> ",
                  new object[] { page - 1, para, "上一页", page + 1, para, "下一页", url }));
                //后一页图片
                //sb.Append(string.Format("<a href=\"?page={0}{1}\">{2}</a>", new object[] { page + 1, para, "<img src=\"images/right-icon.gif\" border=\"0\"/>" }));
              }
              break;
          }
          //最后一页图片
          sb.Append(string.Format("<a href=\"{2}?page={0}{1}\">末页</a>&nbsp;&nbsp;", new object[] { sumpage, para, url }));
        }
        sb.Append(string.Format("第{0}页/共{1}页 共{2}条", new object[] { page, sumpage, count }));
      }
      return sb.ToString();
    }
    #endregion
    #region 日期格式判断
    /// <summary>
    /// 日期格式字符串判断
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public static bool IsDateTime(string str)
    {
      try
      {
        if (!string.IsNullOrEmpty(str))
        {
          DateTime.Parse(str);
          return true;
        }
        else
        {
          return false;
        }
      }
      catch
      {
        return false;
      }
    }
    #endregion
    #region 是否由特定字符组成
    public static bool isContainSameChar(string strInput)
    {
      string charInput = string.Empty;
      if (!string.IsNullOrEmpty(strInput))
      {
        charInput = strInput.Substring(0, 1);
      }
      return isContainSameChar(strInput, charInput, strInput.Length);
    }
    public static bool isContainSameChar(string strInput, string charInput, int lenInput)
    {
      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>
    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
  }
}

希望本文所述对大家的C#程序设计有所帮助。

[!--infotagslink--]

相关文章

  • C#实现简单的登录界面

    我们在使用C#做项目的时候,基本上都需要制作登录界面,那么今天我们就来一步步看看,如果简单的实现登录界面呢,本文给出2个例子,由简入难,希望大家能够喜欢。...2020-06-25
  • 浅谈C# 字段和属性

    这篇文章主要介绍了C# 字段和属性的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-11-03
  • php svn操作类

    以前我们开发大型项目时都会用到svn来同步,因为开发产品的人过多,所以我们会利用软件来管理,今天发有一居然可以利用php来管理svn哦,好了看看吧。 代码如下 ...2016-11-25
  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • C#中截取字符串的的基本方法详解

    这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • C#实现简单的Http请求实例

    这篇文章主要介绍了C#实现简单的Http请求的方法,以实例形式较为详细的分析了C#实现Http请求的具体方法,需要的朋友可以参考下...2020-06-25
  • C#中new的几种用法详解

    本文主要介绍了C#中new的几种用法,具有很好的参考价值,下面跟着小编一起来看下吧...2020-06-25
  • 使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)

    这篇文章主要介绍了使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • C#和JavaScript实现交互的方法

    最近做一个小项目不可避免的需要前端脚本与后台进行交互。由于是在asp.net中实现,故问题演化成asp.net中jiavascript与后台c#如何进行交互。...2020-06-25
  • 经典实例讲解C#递归算法

    这篇文章主要用实例讲解C#递归算法的概念以及用法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下...2020-06-25
  • C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
  • 轻松学习C#的基础入门

    轻松学习C#的基础入门,了解C#最基本的知识点,C#是一种简洁的,类型安全的一种完全面向对象的开发语言,是Microsoft专门基于.NET Framework平台开发的而量身定做的高级程序设计语言,需要的朋友可以参考下...2020-06-25
  • C#变量命名规则小结

    本文主要介绍了C#变量命名规则小结,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-09
  • c#中(&&,||)与(&,|)的区别详解

    这篇文章主要介绍了c#中(&&,||)与(&,|)的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C#绘制曲线图的方法

    这篇文章主要介绍了C#绘制曲线图的方法,以完整实例形式较为详细的分析了C#进行曲线绘制的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • c#自带缓存使用方法 c#移除清理缓存

    这篇文章主要介绍了c#自带缓存使用方法,包括获取数据缓存、设置数据缓存、移除指定数据缓存等方法,需要的朋友可以参考下...2020-06-25