实用收集类

来源:互联网 发布:羽织淘宝 编辑:程序博客网 时间:2024/06/06 04:56
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.Hosting;using System.Text.RegularExpressions; using System.Text;using System.IO;/// <summary>///CBaseFun 的摘要说明/// </summary>public class CBaseFun{    public CBaseFun()    {        //        //TODO: 在此处添加构造函数逻辑        //    }    /// <summary>    /// 返回REQUEST值    /// </summary>    /// <param name="name"></param>    /// <returns></returns>    public static string GetRequest(string name)    {        if (HttpContext.Current.Request[name] != null)        {            return HttpContext.Current.Request[name].ToString().Trim().Replace("'","''");        }        return "";    }    /// <summary>    /// form表单上传数据    /// </summary>    /// <param name="postedFile"></param>    /// <param name="postType"></param>    /// <returns></returns>    public static string SaveFile(HttpPostedFile postedFile, string postType)    {        string UploadFileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Millisecond.ToString();        string extension = Path.GetFileName(postedFile.FileName);        string strFileName = HttpContext.Current.Request.ApplicationPath + "//upfile//zt//" + postType + "//" + System.DateTime.Today.Year.ToString() + "//" + System.DateTime.Today.Month.ToString() + "//";        string root = System.Web.HttpContext.Current.Server.MapPath(strFileName);        string destination = System.Web.HttpContext.Current.Server.MapPath(strFileName) + UploadFileName + extension;        string path = "/upfile/zt/" + postType + "/" + System.DateTime.Today.Year.ToString() + "/" + System.DateTime.Today.Month.ToString() + "/" + UploadFileName + extension;        if (!Directory.Exists(root))        {            Directory.CreateDirectory(root);        }        postedFile.SaveAs(destination);        return path;    }      /// <summary>    /// 获取当前浏览器用户的IP地址    /// </summary>    /// <returns></returns>    public static string GetIP()    {        return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].Trim();     }    /// <summary>    /// 获取EMAIL地址的域名    /// </summary>    /// <param name="_mailaddress"></param>    /// <returns></returns>    public static string GetEmailExt(string _mailaddress)    {        string mail = _mailaddress;        int pos = mail.IndexOf('@');        return "";    }    /// <summary>    /// 转0为空    /// </summary>    /// <param name="_zero"></param>    /// <returns></returns>    public static string ZeroToNull(string _zero)    {        if (_zero == "0")            return "";        else            return _zero;    }    /// <summary>    ///     /// </summary>    /// <param name="_zero"></param>    /// <returns></returns>    public static string ZeroToNull(object _zero)    {        if (_zero.ToString() == "0")            return "";        else            return _zero.ToString();    }    /// <summary>    /// 分页代码    /// </summary>    /// <param name="nowpage">当前页数</param>    /// <param name="pagesize">页面大小</param>    /// <param name="rowcount">总记录数</param>    /// <param name="bigpageindex">所引数</param>    /// <param name="extParam">扩展参数</param>    /// <returns></returns>    public static string GetPageNav(int nowpage, int pagesize, long rowcount)    {        CPageHtml p=new CPageHtml();        p.Count=rowcount;        p.CurrentPage=nowpage;        p.ShowNum=10;        string pageStr = "";        string extParam = "";        int shownum = 10;               for (long i = p.BeginNum; i <= p.EndNum; i++)        {                       if (i != nowpage)            {                pageStr += " <a href=\""+p.PageUrl+i+"\">" + i + "</a>";            }            else            {                pageStr += " <a href=\""+p.PageUrl+i+ "\" style=\"color:#ff0000\">" + i + "</a>";            }        }        string preStr = "", nexStr = "";        if (p.BeginNum <= 1)        {            preStr += " |<< <<";        }        else        {            preStr += " <a href=\"" + p.PageUrl + "1\" title=\"最前页\">|<<</a> <a href=\"" + p.PageUrl + (p.CurrentPage - p.ShowNum <= 0 ? 1 : p.CurrentPage - p.ShowNum) + "\" title='前" + p.ShowNum + "页'><<</a>";        }        if (p.EndNum>=p.MaxPage)        {            nexStr += " >> >>|";        }        else        {            nexStr += " <a href=\"" + p.PageUrl + "" + (p.CurrentPage + p.ShowNum <= p.MaxPage ? p.CurrentPage + p.ShowNum : p.MaxPage) + "\" title='后" + p.ShowNum + "页'>>></a>";            nexStr += " <a href=\"" + p.PageUrl+p.MaxPage + "\" title='最后页'>>>|</a>";        }        string navStr = "总记录数:" + p.Count.ToString() + " " + preStr + pageStr + nexStr + " 页码:" + p.CurrentPage.ToString() + "/" + p.MaxPage.ToString();        //navStr        return navStr;    }    ///   <summary>       ///   去除HTML标记       ///   </summary>       ///   <param   name="NoHTML">包括HTML的源码   </param>       ///   <returns>已经去除后的文字</returns>       public static string NoHTML(string Htmlstring)    {        //删除脚本           Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);        //删除HTML           Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", "   ", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);        Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);        Htmlstring.Replace("<", "");        Htmlstring.Replace(">", "");        Htmlstring.Replace("\r\n", "");        Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();        return Htmlstring;    }    /// <summary>    /// 提取汉字    /// </summary>    /// <param name="strHtml">包括HTML的源码 </param>    /// <returns>已经去除后的文字</returns>    public static string StripHTML(string strHtml)    {        string[] aryReg ={          @"<script[^>]*?>.*?</script>",          @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",          @"([\r\n])[\s]+",          @"&(quot|#34);",          @"&(amp|#38);",          @"&(lt|#60);",          @"&(gt|#62);",           @"&(nbsp|#160);",           @"&(iexcl|#161);",          @"&(cent|#162);",          @"&(pound|#163);",          @"&(copy|#169);",          @"&#(\d+);",          @"-->",          @"<!--.*\n"                  };        string[] aryRep = {           "",           "",           "",           "\"",           "&",           "<",           ">",           " ",           "\xa1",//chr(161),           "\xa2",//chr(162),           "\xa3",//chr(163),           "\xa9",//chr(169),           "",           "\r\n",           ""          };        string newReg = aryReg[0];        string strOutput = strHtml;        for (int i = 0; i < aryReg.Length; i++)        {            Regex regex = new Regex(aryReg[i], RegexOptions.IgnoreCase);            strOutput = regex.Replace(strOutput, aryRep[i]);        }        strOutput.Replace("<", "");        strOutput.Replace(">", "");        strOutput.Replace("\r\n", "");        return strOutput;    }    /// <summary>    /// 字符串长度(按字节算)    /// </summary>    /// <param name="str"></param>    /// <returns></returns>    static int StrLength(string str)    {        int len = 0;        byte[] b;        for (int i = 0; i < str.Length; i++)        {            b = Encoding.Default.GetBytes(str.Substring(i, 1));            if (b.Length > 1)                len += 2;            else                len++;        }        return len;    }    /// <summary>    /// 截取指定长度字符串(按字节算)    /// </summary>    /// <param name="str"></param>    /// <param name="length"></param>    /// <returns></returns>    static string StrCut(string str, int length)    {        int len = 0;        byte[] b;        StringBuilder sb = new StringBuilder();        for (int i = 0; i < str.Length; i++)        {            b = Encoding.Default.GetBytes(str.Substring(i, 1));            if (b.Length > 1)                len += 2;            else                len++;            if (len >= length)                break;            sb.Append(str[i]);        }        return sb.ToString();    }}