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(); }}