Asp.net 字符串操作基类(安全,替换,分解等)

  1.   
  2. /**********************************************************************************
  3.  * 
  4.  * 功能说明:常用函数基类
  5.  * 版本:V0.1(C#2.0)
  6.  * 
  7.  * *******************************************************************************/
  8. using System;
  9. using System.Data;
  10. using System.Configuration;
  11. using System.Web;
  12. using System.Web.Security;
  13. using System.Web.UI;
  14. using System.Web.UI.WebControls;
  15. using System.Web.UI.WebControls.WebParts;
  16. using System.Web.UI.HtmlControls;
  17. using System.Text;
  18. namespace EC
  19. {
  20.     /// <summary>
  21.     /// 常用函数基类
  22.     /// </summary>
  23.     public class FunObject
  24.     {
  25.         #region 替换字符串
  26.         /// <summary>
  27.         /// 功能:替换字符
  28.         /// </summary>
  29.         /// <param name="strVAlue">字符串</param>
  30.         /// <returns>替换掉'的字符串</returns>
  31.         public static string FilterSQL(string strVAlue)
  32.         {
  33.             string str = "";
  34.             str = strVAlue.Replace("''""");
  35.             return str;
  36.         }
  37.         #endregion
  38.         #region 对表 表单内容进行转换HTML操作,
  39.         /// <summary>
  40.         /// 功能:对表 表单内容进行转换HTML操作,
  41.         /// </summary>
  42.         /// <param name="fString">html字符串</param>
  43.         /// <returns></returns>
  44.         public static string HtmlCode(string fString)
  45.         {
  46.             string str = "";
  47.             str = fString.Replace(">"">");
  48.             str = fString.Replace("<""<");
  49.             str = fString.Replace(" "" ");
  50.             str = fString.Replace("/n""<br />");
  51.             str = fString.Replace("/r""<br />");
  52.             str = fString.Replace("/r/n""<br />");
  53.             return str;
  54.         }
  55. #endregion
  56.         #region 判断是否:返回值:√ or ×
  57.         /// <summary>
  58.         /// 判断是否:返回值:√ or ×
  59.         /// </summary>
  60.         /// <param name="b">true 或false</param>
  61.         /// <returns>√ or ×</returns>
  62.         public static string Judgement(bool b)
  63.         {
  64.             string s = "";
  65.             if (b == true)
  66.                 s = "<b><font color=#009900>√</font></b>";
  67.             else
  68.                 s = "<b><font color=#FF0000>×</font></b>";
  69.             return s;
  70.         }
  71.         #endregion
  72.         #region 截取字符串
  73.         /// <summary>
  74.         /// 功能:截取字符串长度
  75.         /// </summary>
  76.         /// <param name="str">要截取的字符串</param>
  77.         /// <param name="length">字符串长度</param>
  78.         /// <param name="flg">true:加...,flase:不加</param>
  79.         /// <returns></returns>
  80.         public static string GetString(string str, int length, bool flg)
  81.         {
  82.             int i = 0, j = 0;
  83.             foreach (char chr in str)
  84.             {
  85.                 if ((int)chr > 127)
  86.                 {
  87.                     i += 2;
  88.                 }
  89.                 else
  90.                 {
  91.                     i++;
  92.                 }
  93.                 if (i > length)
  94.                 {
  95.                     str = str.Substring(0, j);
  96.                     if (flg)
  97.                         str += "......";
  98.                     break;
  99.                 }
  100.                 j++;
  101.             }
  102.             return str;
  103.         }
  104.         #endregion
  105.         #region 截取字符串+…
  106.         /// <summary>
  107.         /// 截取字符串+…
  108.         /// </summary>
  109.         /// <param name="strInput"></param>
  110.         /// <param name="intlen"></param>
  111.         /// <returns></returns>
  112.         public static string CutString(string strInput, int intlen)//截取字符串
  113.         {
  114.             ASCIIEncoding ascii = new ASCIIEncoding();
  115.             int intLength = 0;
  116.             string strString = "";
  117.             byte[] s = ascii.GetBytes(strInput);
  118.             for (int i = 0; i < s.Length; i++)
  119.             {
  120.                 if ((int)s[i] == 63)
  121.                 {
  122.                     intLength += 2;
  123.                 }
  124.                 else
  125.                 {
  126.                     intLength += 1;
  127.                 }
  128.                 try
  129.                 {
  130.                     strString += strInput.Substring(i, 1);
  131.                 }
  132.                 catch
  133.                 {
  134.                     break;
  135.                 }
  136.                 if (intLength > intlen)
  137.                 {
  138.                     break;
  139.                 }
  140.             }
  141.             //如果截过则加上半个省略号
  142.             byte[] mybyte = System.Text.Encoding.Default.GetBytes(strInput);
  143.             if (mybyte.Length > intlen)
  144.             {
  145.                 strString += "…";
  146.             }
  147.             return strString;
  148.         }
  149.         #endregion
  150.         #region 字符串分函数
  151.         /// <summary>
  152.         /// 字符串分函数
  153.         /// </summary>
  154.         /// <param name="strID"></param>
  155.         /// <param name="index"></param>
  156.         /// <param name="Separ"></param>
  157.         /// <returns></returns>
  158.         public string StringSplit(string strings, int index, string Separ)
  159.         {
  160.             string[] s = strings.Split(char.Parse(Separ));
  161.             return s[index];
  162.         }
  163. #endregion
  164.         #region 分解字符串为数组
  165.         /// <summary>
  166.         /// 字符串分函数
  167.         /// </summary>
  168.         /// <param name="str">要分解的字符串</param>
  169.         /// <param name="splitstr">分割符,可以为string类型</param>
  170.         /// <returns>字符数组</returns>
  171.         public static string[] splitstr(string str, string splitstr)
  172.         {
  173.             if (splitstr != "")
  174.             {
  175.                 System.Collections.ArrayList c = new System.Collections.ArrayList();
  176.                 while (true)
  177.                 {
  178.                     int thissplitindex = str.IndexOf(splitstr);
  179.                     if (thissplitindex >= 0)
  180.                     {
  181.                         c.Add(str.Substring(0, thissplitindex));
  182.                         str = str.Substring(thissplitindex + splitstr.Length);
  183.                     }
  184.                     else
  185.                     {
  186.                         c.Add(str);
  187.                         break;
  188.                     }
  189.                 }
  190.                 string[] d = new string[c.Count];
  191.                 for (int i = 0; i < c.Count; i++)
  192.                 {
  193.                     d[i] = c[i].ToString();
  194.                 }
  195.                 return d;
  196.             }
  197.             else
  198.             {
  199.                 return new string[] { str };
  200.             }
  201.         }
  202.         #endregion
  203.         #region URL编码
  204.         /// <summary>
  205.         /// URL编码
  206.         /// </summary>
  207.         /// <param name="str">字符串</param>
  208.         /// <returns></returns>
  209.         public static string UrlEncoding(string str)
  210.         {
  211.             byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);
  212.             return System.Text.Encoding.UTF8.GetString(bytes).ToString();
  213.         }
  214.         #endregion
  215.         #region 获取Web.config中的配置字段值
  216.         /// <summary>
  217.         /// 获取全局配置参数
  218.         /// </summary>
  219.         /// <param name="key">键名</param>
  220.         /// <returns>参数</returns>
  221.         public static string GetApp(string key)
  222.         {
  223.             System.Configuration.AppSettingsReader appr = new System.Configuration.AppSettingsReader();
  224.             try
  225.             {
  226.                 string str = (string)appr.GetValue(key, typeof(string));
  227.                 if (str == null || str == ""return null;
  228.                 return str;
  229.             }
  230.             catch (Exception E) { }
  231.             return null;
  232.         }
  233.         #endregion
  234.         #region 根据传入的字符串是否为yes/no返回Bit
  235.         /// <summary>
  236.         /// 根据传入的字符串是否为yes/no返回Bit
  237.         /// </summary>
  238.         /// <param name="flg"></param>
  239.         /// <returns></returns>
  240.         public static int GetBitBool(string flg)
  241.         {
  242.             int str = 0;
  243.             switch (flg.ToLower())
  244.             { 
  245.                 case "yes":
  246.                     str = 1;
  247.                     break;
  248.                 case"no":
  249.                     str = 0;
  250.                     break;
  251.                 default:
  252.                     break;
  253.             }
  254.             return str;
  255.         }
  256.         #endregion
  257.         #region Html编码
  258.         /// <summary>
  259.         /// HTML编码
  260.         /// </summary>
  261.         /// <param name="strInput"></param>
  262.         /// <returns></returns>
  263.         public static string HtmlEncode(string strInput)
  264.         {
  265.             string str;
  266.             try
  267.             {
  268.                 str = HttpContext.Current.Server.HtmlEncode(strInput);
  269.             }
  270.             catch
  271.             {
  272.                 str = "error";
  273.             }
  274.             return str;
  275.         }
  276.         /// <summary>
  277.         /// HTML解码
  278.         /// </summary>
  279.         /// <param name="strInput"></param>
  280.         /// <returns></returns>
  281.         public static string HtmlDecode(string strInput)
  282.         {
  283.             string str;
  284.             try
  285.             {
  286.                 str = HttpContext.Current.Server.HtmlDecode(strInput);
  287.             }
  288.             catch
  289.             {
  290.                 str = "error";
  291.             }
  292.             return str;
  293.         }
  294.         #endregion      
  295.  #region 检测一个字符符,是否在另一个字符中,存在,存在返回true,否则返回false
  296.         /// <summary>
  297.         /// 检测一个字符符,是否在另一个字符中,存在,存在返回true,否则返回false
  298.         /// </summary>
  299.         /// <param name="srcString">原始字符串</param>
  300.         /// <param name="aimString">目标字符串</param>
  301.         /// <returns></returns>
  302.         public static bool IsEnglish(string srcString, string aimString)
  303.         {
  304.             bool Rev = true;
  305.             string chr;
  306.             if (aimString == "" || aimString == nullreturn false;
  307.             for (int i = 0; i < aimString.Length; i++)
  308.             {
  309.                 chr = aimString.Substring(i, 1);
  310.                 if (srcString.IndexOf(chr) < 0)
  311.                 {
  312.                     return false;
  313.                     break;
  314.                 }
  315.             }
  316.             return Rev;
  317.         }
  318.         #endregion
  319.         #region 检测字符串中是否含有中文及中文长度
  320.         /// <summary>
  321.         /// 检测字符串中是否含有中文及中文长度
  322.         /// </summary>
  323.         /// <param name="str">要检测的字符串</param>
  324.         /// <returns>中文字符串长度</returns>
  325.         public static int CnStringLength(string str)
  326.         {
  327.             ASCIIEncoding n = new ASCIIEncoding();
  328.             byte[] b = n.GetBytes(str);
  329.             int l = 0;  // l 为字符串之实际长度 
  330.             for (int i = 0; i <= b.Length - 1; i++)
  331.             {
  332.                 if (b[i] == 63)  //判断是否为汉字或全脚符号 
  333.                 {
  334.                     l++;
  335.                 }
  336.             }
  337.             return l;
  338.         
  339.         }
  340.         #endregion  
  341.  #region 取字符串右侧的几个字符
  342.         /// <summary>
  343.         /// 取字符串右侧的几个字符
  344.         /// </summary>
  345.         /// <param name="str">字符串</param>
  346.         /// <param name="length">右侧的几个字符</param>
  347.         /// <returns></returns>
  348.         public static  string GetStrRight(string str, int length)
  349.         {
  350.             string Rev = "";
  351.             if (str.Length < length)
  352.             {
  353.                 Rev = str;
  354.             }
  355.             else
  356.             {
  357.                 Rev = str.Substring(str.Length - length, length);
  358.             }
  359.             return Rev;
  360.         }
  361.         #endregion
  362.         #region 替换右侧的字符串
  363.         /// <summary>
  364.         /// 替换右侧的字符串
  365.         /// </summary>
  366.         /// <param name="str">字符串</param>
  367.         /// <param name="strsrc">右侧的字符串</param>
  368.         /// <param name="straim">要替换为的字符串</param>
  369.         /// <returns></returns>
  370.         public static  string RepStrRight(string str, string strsrc, string straim)
  371.         {
  372.             string Rev = "";
  373.             if (GetStrRight(str, strsrc.Length) != strsrc)
  374.             {
  375.                 Rev = str;
  376.             }
  377.             else
  378.             {
  379.                 Rev = str.Substring(0, str.Length - strsrc.Length).ToString() + straim.ToString();
  380.             }
  381.             return Rev;
  382.         }
  383.         #endregion
  384.     }
  385. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值