我的公用函数

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.IO;
using System.Data;
using System.Web.UI.WebControls;
using System.Security;
using System.Data.SqlClient;
using System.Security.Cryptography;
namespace Components
{
    public class MyCommon
    {       
        protected static string p_imgurl = System.Configuration.ConfigurationManager.AppSettings["img"];
        protected static string p_fileurl = System.Configuration.ConfigurationManager.AppSettings["m_file"];
        protected static string G_fileurl = System.Configuration.ConfigurationManager.AppSettings["fileurl"];
        protected static string G_imgurl = System.Configuration.ConfigurationManager.AppSettings["imgfileurl"];
        public string Get_imgurl(string imgurl)
        {
            if ((imgurl.Length == 21 || imgurl.IndexOf("/")==-1) && imgurl != "")
                return p_imgurl + imgurl.Substring(0, 4) + "/" + imgurl.Substring(4, 2) + "/" + imgurl.Substring(6, 2) + "/" + imgurl;
            else
                return imgurl;
        }
        public string Get_fileurl(string fileurl,string filename)
        {
            return p_fileurl + fileurl.Substring(0, 4) + "/" + fileurl.Substring(4, 2) + "/" + fileurl.Substring(6, 2) + "/" +fileurl.Substring(8,8)+"/"+ filename;
        }
        public string upload_fileurl(string time)
        {
            string strpath = @"/file/" + time.Substring(0, 4) + @"/" + time.Substring(4, 2) + @"/" + time.Substring(6, 2) + @"/" + time.Substring(8, 8) + @"/";
            return strpath;
        }
        public string upload_imgurl(DateTime time)
        {
            string strpath = @"/img/" + time.ToString("yyyy") + @"/" + time.ToString("MM") + @"/" + time.ToString("dd") + @"/";
            return strpath;
        }
        public string Get_UserWay(string dt)
        {
            string strpath = dt.Substring(0, 4) + @"/" + dt.Substring(4, 2) + @"/" + dt.Substring(6, 2) + @"/";
            return strpath;
        }
       
        private static Regex urlregex = new Regex(@"(http:([/w.]+//?)/S*)",

                    RegexOptions.IgnoreCase | RegexOptions.Compiled);

        private static Regex emailregex = new Regex(@"([a-zA-Z_0-9.-]+/@[a-zA-Z_0-9.-]+/./w+)",

               RegexOptions.IgnoreCase | RegexOptions.Compiled);
        public void UploadFtpFile(string username, string strpath)
        {
            string FtpServer = "ftp.communion.cn";
            string FtpUserName = "killbill";
            string FtpPassword = "file@communion.cn";
            FtpClient myFtpClient = new FtpClient(FtpServer, FtpUserName, FtpPassword, 100, 21);
            myFtpClient.Login();
            myFtpClient.ChangeDir("/" + username + "/");
            myFtpClient.Upload(strpath);
            myFtpClient.Close();
        }
        /// <summary>
        /// MD5加密
        /// </summary>
        /// <param name="pToEncrypt">需要加密的字符串</param>
        /// <returns></returns>
        public string MD5Encrypt(string pToEncrypt)
        {
            // DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] output = md5.ComputeHash(inputByteArray);
            return BitConverter.ToString(output).Replace("-", "");
        }

        /// <summary>
        /// MD5加密
        /// </summary>
        /// <param name="pToEncrypt">需要加密的字符串</param>
        /// <returns></returns>
        public string MD5EncryptAll(string pToEncrypt)
        {
            // DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] output = md5.ComputeHash(inputByteArray);
            return BitConverter.ToString(output);
        }

        public string GenHyperlinkUrl(string link)
        {
            link = emailregex.Replace(link, "<a href=mailto:$1>$1</a>");
            link = urlregex.Replace(link, "<a href=/"$1/" target=/"_blank/">$1</a>");
            return link;
        }

        //判断输入是不是合法EMAIL
        public bool email(string str)
        {
            string regextex = @"[/w-]+@([/w-]+/.)+[/w-]+";
            Regex regex = new Regex(regextex, RegexOptions.None);
            return regex.IsMatch(str.Trim());
        }
        //用户注册时候用户名只能是数字或字母
        public bool reg(string str)
        {
            string regextex = @"^[0-9a-zA-Z_/-]+$";
            Regex regex = new Regex(regextex, RegexOptions.None);
            return regex.IsMatch(str.Trim());
        }
        //判断输入信息是否数字
        public bool IsNum(string str)
        {
            string regextext = @"^[0-9]+$";
            Regex regex = new Regex(regextext, RegexOptions.None);
            return regex.IsMatch(str.Trim());
        }
        //传入值对应数据库中读取复选框的值,相对应选中为当前项
        public void chkText(System.Web.UI.WebControls.CheckBoxList chk, string id)
        {
            string[] mos = id.Split(new char[] { ';' });
            for (int i = 0; i < chk.Items.Count; i++)
            {
                for (int j = 0; j < mos.Length; j++)
                {
                    if (chk.Items[i].Text.Trim() == mos[j])
                    {
                        chk.Items[i].Selected = true;
                    }
                }
            }
        }
      
        //传入文本对应数据库中读取复选框的值,相对应选中为当前项
        public  void chkValue(System.Web.UI.WebControls.CheckBoxList chk, string id)
        {
            string[] mos = id.Split(new char[] { ',' });
            for (int i = 0; i < chk.Items.Count; i++)
            {
                for (int j = 0; j < mos.Length; j++)
                {
                    if (chk.Items[i].Value.Trim() == mos[j])
                    {
                        chk.Items[i].Selected = true;
                    }
                }
            }
        }
        //传入值对应数据库中读取单选框的值,相对应先中为当前项
        public  void showRLstValue(System.Web.UI.WebControls.RadioButtonList RLis, string ID)
        {
            for (int i = 0; i < RLis.Items.Count; i++)
            {
                if (ID.Trim() == RLis.Items[i].Value.Trim())
                {
                    RLis.SelectedIndex = i;
                    return;
                }
            }
        }
        //传入文本对应数据库中读取单选框的值,相对应先中为当前项
        public  void showRLstText(System.Web.UI.WebControls.RadioButtonList RLis, string ID)
        {
            for (int i = 0; i < RLis.Items.Count; i++)
            {
                if (ID.Trim() == RLis.Items[i].Text.Trim())
                {
                    RLis.SelectedIndex = i;
                    return;
                }
            }
        }
        //传入文本对应数据库中读取列表框的值,相对应先中为当前项
        public  void showLstText(System.Web.UI.WebControls.DropDownList Lis, string ID)
        {
            //Lst.Items.FindByValue(ID).Selected=true;
            for (int i = 0; i < Lis.Items.Count; i++)
            {
                if (ID.Trim() == Lis.Items[i].Text.Trim())
                {
                    Lis.SelectedIndex = i;
                    return;
                }
            }
        }
        /// <summary>
        /// 传入值对应数据库中读取列表框的值,相对应先中为当前项
        /// </summary>
        /// <param name="Lis"></param>
        /// <param name="ID"></param>
        public  void showLstValue(System.Web.UI.WebControls.DropDownList Lis, string ID)
        {
            //Lst.Items.FindByValue(ID).Selected=true;
            for (int i = 0; i < Lis.Items.Count; i++)
            {
                if (ID.Trim() == Lis.Items[i].Value.Trim())
                {
                    Lis.SelectedIndex = i;
                    return;
                }
            }
        }
        //传入文本对应数据库中读取列表框的值,相对应先中为当前项
        public void showLstText(System.Web.UI.HtmlControls.HtmlSelect Lis, string ID)
        {
            //Lst.Items.FindByValue(ID).Selected=true;
            for (int i = 0; i < Lis.Items.Count; i++)
            {
                if (ID.Trim() == Lis.Items[i].Text.Trim())
                {
                    Lis.SelectedIndex = i;
                    return;
                }
            }
        }
        /// <summary>
        /// 传入值对应数据库中读取列表框的值,相对应先中为当前项
        /// </summary>
        /// <param name="Lis"></param>
        /// <param name="ID"></param>
        public void showLstValue(System.Web.UI.HtmlControls.HtmlSelect Lis, string ID)
        {
            //Lst.Items.FindByValue(ID).Selected=true;
            for (int i = 0; i < Lis.Items.Count; i++)
            {
                if (ID.Trim() == Lis.Items[i].Value.Trim())
                {
                    Lis.SelectedIndex = i;
                    return;
                }
            }
        }
        //查找用户输入的文本中是否带有不法关键字“0”表示没有“1”表示有
        public string FilterBadWords(string msg, string badwords)
        {
            string[] tempstr = badwords.Split('|');
            string finalstr = msg;
            string finalstr1 = msg;
            for (int i = 0; i <= tempstr.Length - 1; i++)
            {
                finalstr1 = finalstr1.Replace(tempstr[i], new string('*', tempstr[i].Length));
            }
            if (finalstr == finalstr1)
            {
                return "0";
            }
            else
            {
                return "1";
            }
        }
        //关键字预选
        /// <summary>
        /// 关键字预选
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="badwords"></param>
        /// <returns></returns>
        public string FilterKeyWords(string msg, string badwords)
        {
            //string[] tempstr = badwords.Split('|');
            string finalstr = msg;
            string finalstr1 = msg;
            //for (int i = 0; i <= tempstr.Length - 1; i++)
            //{
            //finalstr1 = finalstr1.Replace(tempstr[i], new string('*', tempstr[i].Length));
            //}
            finalstr1 = finalstr1.Replace(badwords, "*");
            if (finalstr == finalstr1)
            {
                return "0";
            }
            else
            {
                return "1";
            }
        }
        //屏蔽文字
        public string FilterBadWords_search(string msg, string badwords)
        {
            string[] tempstr = badwords.Split('|');
            string finalstr = msg;
            for (int i = 0; i <= tempstr.Length - 1; i++)
            {
                finalstr = finalstr.Replace(tempstr[i], new string('*', tempstr[i].Length));
            }
            return finalstr;
        }
        /// <summary>
        /// 截短字串的函数
        /// </summary>
        /// <param name="mText">要加工的字串</param>
        /// <param name="byteCount">长度</param>
        /// <returns>被加工过的字串</returns>
        public  string MyLeftFunction(string mText, int byteCount)
        {
            string tab="table";
            if (byteCount < 1) return mText;           
            if (mText.Length <= byteCount)
            {
                return mText;
            }
            else
            {
                mText = mText.Substring(0, byteCount);
                if (mText.IndexOf(tab) < 0)
                {
                   mText= mText + "...";
                }
                else
                {
                    mText = "...";
                }
                return mText;
            }
        }
        /// <summary>
        /// 警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <returns>警告框JS</returns>
        public void MsgBox(string _Msg)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        //警告框,返回上一页面
        public void MsgBox_back(string _Msg)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');hostry.back(-1);");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 一个含有“确定”,点击以后就转到预设网址的警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <param name="URL">“确定”以后要转到预设网址</param>
        /// <returns>警告框JS</returns>
        public void MsgBox2(string _Msg, string URL)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("window.location='" + URL + "';");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 一个含有“确定”,点击后关闭自己,刷新父窗口警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <returns>警告框JS</returns>
        public void alert_reloadwin(string _Msg)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("window.opener.location.href=window.opener.location.href;window.close();");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 一个含有“确定”,刷新当前窗口警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <returns>警告框JS</returns>
        public void alert_updatewin(string _Msg)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("window.document.location.reload();");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 使控件获得焦点
        /// </summary>
        /// <param name="Ctl_Name">获得焦点控件Id值</param>
        /// <param name="page">Page类</param>
        public static void GetFocus(string Ctl_Name, Page page)
        {
            page.RegisterStartupScript(Ctl_Name, "<script>document.forms(0)." + Ctl_Name + ".focus(); document.forms(0)." + Ctl_Name + ".select();</script>");
        }
        /// 一个含有“确定”,点击返回先前的网页警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <param name="BackLong">要倒退几步</param>
        /// <returns>警告框JS</returns>
        public static void alert_history(string _Msg, int BackLong)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("history.go('" + BackLong + "')");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 一个含有“确定”,点击关闭本页的警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <returns>警告框JS</returns>
        public void MsgBox3(string _Msg)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += ("alert('" + _Msg + "');");
            StrScript += ("window.close();");
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 一个含有“确定”、“取消”的警告框
        /// </summary>
        /// <param name="_Msg">警告字串</param>
        /// <param name="URL">“确定”以后要转到预设网址</param>
        /// <returns>警告框JS</returns>
        public static void MsgBox1(string _Msg, string URL)
        {
            string StrScript;
            StrScript = ("<script language=javascript>");
            StrScript += "var retValue=window.confirm('" + _Msg + "');" + "if(retValue){window.location='" + URL + "';}";
            StrScript += ("</script>");
            System.Web.HttpContext.Current.Response.Write(StrScript);
        }
        /// <summary>
        /// 去除空格标记
        /// </summary>
        /// <param name="NoHTML">包括空格的源码 </param>
        /// <returns>已经去除后的文字</returns>
        public string Replacekongge(string strChar)
        {
            if (strChar.Trim() == "")
            {
                return "";
            }
            else
            {               
                strChar = strChar.Replace(",", " ");
                strChar = strChar.Replace("<style>", "");
                strChar = strChar.Replace("</style>", "");
                strChar = strChar.Replace("<fourth>", "");
                strChar = strChar.Replace("</fourth>", "");
                return strChar.Trim();
            }
        }
      
 
        /// <summary>
        /// 去除/r/n标记为换行
        /// </summary>
        /// <param name="NoHTML">包括/r/n的源码 </param>
        /// <returns>已经去除后的文字</returns>
        public string BRHTML(string Htmlstring)
        {
            string strOutput = Htmlstring;
            strOutput = strOutput.Replace("/r/n", "<br>");
            return strOutput;
        }
        /// <summary>
        /// 去除br标记为换行
        /// </summary>
        /// <param name="NoHTML">包括br的源码 </param>
        /// <returns>已经去除后的文字</returns>
        public string rnHTML(string Htmlstring)
        {
            string strOutput = Htmlstring;
            strOutput = strOutput.Replace("<br>", "/r/n");
            return strOutput;
        }
        /// <summary>
        /// 去除HTML标记
        /// </summary>
        /// <param name="NoHTML">包括HTML的源码 </param>
        /// <returns>已经去除后的文字</returns>
        public string NoHTML(string Htmlstring)
        {
            string strOutput = Htmlstring;

            strOutput = Regex.Replace(strOutput, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
            //   strOutput = Regex.Replace(strOutput,@"<(///s*)?!?((/w+:)?/w+)(/w+(/s*=?/s*(([""'])(在个别情况下会引起IIS吃爆CPU的现象
            strOutput = Regex.Replace(strOutput, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"([/r/n])[/s]+", "", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"-->", "", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"<!--.*", "", RegexOptions.IgnoreCase);

            strOutput = Regex.Replace(strOutput, @"&(quot|#34);", "/"", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&(iexcl|#161);", "/xa1", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&(cent|#162);", "/xa2", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&(pound|#163);", "/xa3", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&(copy|#169);", "/xa9", RegexOptions.IgnoreCase);
            strOutput = Regex.Replace(strOutput, @"&#(/d+);", "", RegexOptions.IgnoreCase);


            strOutput.Replace("<", "");
            strOutput.Replace(">", "");
            strOutput.Replace("/r/n", "");
            strOutput = HttpContext.Current.Server.HtmlEncode(strOutput).Trim();

            return strOutput;
        }
  
        //删除图片
        public void DeleteImg(string img)
        {
          
            //删除对应的图片文件
            string path = @G_fileurl + img.Substring(0, 4) + "/" + img.Substring(4, 2) + "/" + img.Substring(6, 2) + "/" + img;
            if (File.Exists(path))//如果该文件存在
            {
                File.Delete(path);//则删除之
            }
        }
        /// <summary>
        /// 替换标签中的不合法字符
        /// </summary>
        /// <param name="tags"></param>
        /// <returns></returns>
        public string ReplaceTags(string tags)
        {
            tags=tags.Replace(",",",");
            tags = tags.Replace(" ", ",");
            tags = tags.Replace(" ", ",");
            string lasttags = tags.Substring(tags.Length - 1);
            if (lasttags != ",")
            {
                tags += ",";
                return tags;
            }
            else
            {
                return tags;
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值