常用函数基类

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 HuLangCms

{

    /// <summary>

    /// 常用函数基类

    /// </summary>

    public class FunObject

    {

        #region 替换字符串

        /// <summary>

        /// 功能:替换字符

        /// </summary>

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

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

        public 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 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 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 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>

        /// 格式化字符串,取字符串前 strLength 位,其他的用...代替.

        /// 计算字符串长度。汉字两个字节,字母一个字节

        /// </summary>

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

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

        /// <returns></returns>

        public string FormatStr(string str, int len)

        {

            ASCIIEncoding ascii = new ASCIIEncoding();

            int tempLen = 0;

            string tempString = "";

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

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

            {

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

                { tempLen += 2; }

                else

                { tempLen += 1; }

                try

                { tempString += str.Substring(i, 1); }

                catch

                { break; }

                if (tempLen > len) break;

            }

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

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

            if (mybyte.Length > len)

                tempString += "...";

            tempString = tempString.Replace(" ", " ");

            tempString = tempString.Replace("<", "<");

            tempString = tempString.Replace(">", ">");

            tempString = tempString.Replace('\n'.ToString(), "<br>");

            return tempString;

        }



        /// <summary>

        /// 截取字符串+…

        /// </summary>

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

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

        /// <returns></returns>

        public 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 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 string UrlEncoding(string str)

        {

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

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

        }

        #endregion





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

        /// <summary>

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

        /// </summary>

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

        /// <returns></returns>

        public 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 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 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 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;

                }



            }

            return Rev;

        }

        #endregion



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

        /// <summary>

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

        /// </summary>

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

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

        public 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 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 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

    }



}

你可能感兴趣的:(常用函数)