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

  /**********************************************************************************

  *

  * 功能说明:常用函数基类

  * 作者: 刘功勋;

  * 版本:V0.1(C#2.0);时间:2006-8-13

  *

  * *******************************************************************************/

  /***************************************************************

  * 更新记录

  * 2007-1-5 更新:

  * 1,取字符串右侧的几个字符

  * 2,替换右侧的字符串

  ****************************************************************/

  using System;

  using System.Data;

  using System.Configuration;

  using System.Web;

  using System.Web.Security;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Web.UI.WebControls.WebParts;

  using System.Web.UI.HtmlControls;

  using System.Text;

  namespace EC

  {

  /// <summary>

  /// 常用函数基类

  /// </summary>

  public class FunObject

  {

  #region 替换字符串

  /// <summary>

  /// 功能:替换字符

  /// </summary>

  /// <param name="strVAlue">字符串</param>

  /// <returns>替换掉'的字符串</returns>

  public static string FilterSQL(string strVAlue)

  {

  string str = "";

  str = strVAlue.Replace("''", "");

  return str;

  }

  #endregion

  #region 对表 表单内容进行转换HTML操作,

  /// <summary>

  /// 功能:对表 表单内容进行转换HTML操作,

  /// </summary>

  /// <param name="fString">html字符串</param>

  /// <returns></returns>

  public static string HtmlCode(string fString)

  {

  string str = "";

  str = fString.Replace(">", ">");

  str = fString.Replace("<", "<");

  str = fString.Replace(" ", " ");

  str = fString.Replace("\n", "<br />");

  str = fString.Replace("\r", "<br />");

  str = fString.Replace("\r\n", "<br />");

  return str;

  }

  #endregion

  #region 判断是否:返回值:√ or ×

  /// <summary>

  /// 判断是否:返回值:√ or ×

  /// </summary>

  /// <param name="b">true 或false</param>

  /// <returns>√ or ×</returns>

  public static string Judgement(bool b)

  {

  string s = "";

  if (b == true)

  s = "<b><font color=#009900>√</font></b>";

  else

  s = "<b><font color=#FF0000>×</font></b>";

  return s;

  }

  #endregion

  #region 截取字符串

  /// <summary>

  /// 功能:截取字符串长度

  /// </summary>

  /// <param name="str">要截取的字符串</param>

  /// <param name="length">字符串长度</param>

  /// <param name="flg">true:加...,flase:不加</param>

  /// <returns></returns>

  public static string GetString(string str, int length, bool flg)

  {

  int i = 0, j = 0;

  foreach (char chr in str)

  {

  if ((int)chr > 127)

  {

  i += 2;

  }

  else

  {

  i++;

  }

  if (i > length)

  {

  str = str.Substring(0, j);

  if (flg)

  str += "......";

  break;

  }

  j++;

  }

  return str;

  }

  #endregion

  #region 截取字符串+…

  /// <summary>

  /// 截取字符串+…

  /// </summary>

  /// <param name="strInput"></param>

  /// <param name="intlen"></param>

  /// <returns></returns>

  public static string CutString(string strInput, int intlen)//截取字符串

  {

  ASCIIEncoding ascii = new ASCIIEncoding();

  int intLength = 0;

  string strString = "";

  byte[] s = ascii.GetBytes(strInput);

  for (int i = 0; i < s.Length; i++)

  {

  if ((int)s[i] == 63)

  {

  intLength += 2;

  }

  else

  {

  intLength += 1;

  }

  try

  {

  strString += strInput.Substring(i, 1);

  }

  catch

  {

  break;

  }

  if (intLength > intlen)

  {

  break;

  }

  }

  //如果截过则加上半个省略号

  byte[] mybyte = System.Text.Encoding.Default.GetBytes(strInput);

  if (mybyte.Length > intlen)

  {

  strString += "…";

  }

  return strString;

  }

  #endregion

  #region 字符串分函数

  /// <summary>

  /// 字符串分函数

  /// </summary>

  /// <param name="strID"></param>

  /// <param name="index"></param>

  /// <param name="Separ"></param>

  /// <returns></returns>

  public string StringSplit(string strings, int index, string Separ)

  {

  string[] s = strings.Split(char.Parse(Separ));

  return s[index];

  }

  #endregion

  #region 分解字符串为数组

  /// <summary>

  /// 字符串分函数

  /// </summary>

  /// <param name="str">要分解的字符串</param>

  /// <param name="splitstr">分割符,可以为string类型</param>

  /// <returns>字符数组</returns>

  public static string[] splitstr(string str, string splitstr)

  {

  if (splitstr != "")

  {

  System.Collections.ArrayList c = new System.Collections.ArrayList();

  while (true)

  {

  int thissplitindex = str.IndexOf(splitstr);

  if (thissplitindex >= 0)

  {

  c.Add(str.Substring(0, thissplitindex));

  str = str.Substring(thissplitindex + splitstr.Length);

  }

  else

  {

  c.Add(str);

  break;

  }

  }

  string[] d = new string[c.Count];

  for (int i = 0; i < c.Count; i++)

  {

  d[i] = c[i].ToString();

  }

  return d;

  }

  else

  {

  return new string[] { str };

  }

  }

  #endregion

  #region URL编码

  /// <summary>

  /// URL编码

  /// </summary>

  /// <param name="str">字符串</param>

  /// <returns></returns>

  public static string UrlEncoding(string str)

  {

  byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);

  return System.Text.Encoding.UTF8.GetString(bytes).ToString();

  }

  #endregion

  #region 获取Web.config中的配置字段值

  /// <summary>

  /// 获取全局配置参数

  /// </summary>

  /// <param name="key">键名</param>

  /// <returns>参数</returns>

  public static string GetApp(string key)

  {

  System.Configuration.AppSettingsReader appr = new System.Configuration.AppSettingsReader();

  try

  {

  string str = (string)appr.GetValue(key, typeof(string));

  if (str == null || str == "") return null;

  return str;

  }

  catch (Exception E) { }

  return null;

  }

  #endregion

  #region 根据传入的字符串是否为yes/no返回Bit

  /// <summary>

  /// 根据传入的字符串是否为yes/no返回Bit

  /// </summary>

  /// <param name="flg"></param>

  /// <returns></returns>

  public static int GetBitBool(string flg)

  {

  int str = 0;

  switch (flg.ToLower())

  {

  case "yes":

  str = 1;

  break;

  case"no":

  str = 0;

  break;

  default:

  break;

  }

  return str;

  }

  #endregion

  #region Html编码

  /// <summary>

  /// HTML编码

  /// </summary>

  /// <param name="strInput"></param>

  /// <returns></returns>

  public static string HtmlEncode(string strInput)

  {

  string str;

  try

  {

  str = HttpContext.Current.Server.HtmlEncode(strInput);

  }

  catch

  {

  str = "error";

  }

  return str;

  }

  /// <summary>

  /// HTML解码

  /// </summary>

  /// <param name="strInput"></param>

  /// <returns></returns>

  public static string HtmlDecode(string strInput)

  {

  string str;

  try

  {

  str = HttpContext.Current.Server.HtmlDecode(strInput);

  }

  catch

  {

  str = "error";

  }

  return str;

  }

  #endregion

  #region 检测一个字符符,是否在另一个字符中,存在,存在返回true,否则返回false

  /// <summary>

  /// 检测一个字符符,是否在另一个字符中,存在,存在返回true,否则返回false

  /// </summary>

  /// <param name="srcString">原始字符串</param>

  /// <param name="aimString">目标字符串</param>

  /// <returns></returns>

  public static bool IsEnglish(string srcString, string aimString)

  {

  bool Rev = true;

  string chr;

  if (aimString == "" || aimString == null) return false;

  for (int i = 0; i < aimString.Length; i++)

  {

  chr = aimString.Substring(i, 1);

  if (srcString.IndexOf(chr) < 0)

  {

  return false;

  break;

  }

  }

  return Rev;

  }

  #endregion

  #region 检测字符串中是否含有中文及中文长度

  /// <summary>

  /// 检测字符串中是否含有中文及中文长度

  /// </summary>

  /// <param name="str">要检测的字符串</param>

  /// <returns>中文字符串长度</returns>

  public static int CnStringLength(string str)

  {

  ASCIIEncoding n = new ASCIIEncoding();

  byte[] b = n.GetBytes(str);

  int l = 0; // l 为字符串之实际长度

  for (int i = 0; i <= b.Length - 1; i++)

  {

  if (b[i] == 63) //判断是否为汉字或全脚符号

  {

  l++;

  }

  }

  return l;

  }

  #endregion

  #region 取字符串右侧的几个字符

  /// <summary>

  /// 取字符串右侧的几个字符

  /// </summary>

  /// <param name="str">字符串</param>

  /// <param name="length">右侧的几个字符</param>

  /// <returns></returns>

  public static string GetStrRight(string str, int length)

  {

  string Rev = "";

  if (str.Length < length)

  {

  Rev = str;

  }

  else

  {

  Rev = str.Substring(str.Length - length, length);

  }

  return Rev;

  }

  #endregion

  #region 替换右侧的字符串

  /// <summary>

  /// 替换右侧的字符串

  /// </summary>

  /// <param name="str">字符串</param>

  /// <param name="strsrc">右侧的字符串</param>

  /// <param name="straim">要替换为的字符串</param>

  /// <returns></returns>

  public static string RepStrRight(string str, string strsrc, string straim)

  {

  string Rev = "";

  if (GetStrRight(str, strsrc.Length) != strsrc)

  {

  Rev = str;

  }

  else

  {

  Rev = str.Substring(0, str.Length - strsrc.Length).ToString() + straim.ToString();

  }

  return Rev;

  }

  #endregion

  }

  }