Files
2026-02-07 15:48:27 +08:00

672 lines
36 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Mtxfw.Utility
{
/// <summary>
/// 常用操作类 By Telesa 2011.02.29
/// </summary>
public class Tools
{
#region
/// <summary>
/// 信息提示并返回
/// </summary>
/// <param name="txt">信息内容</param>
public static void Message(string txt)
{
System.Web.HttpContext.Current.Response.Write("<script type='text/javascript'>alert('" + txt + "');history.go(-1);</script>");
}
#endregion
#region Url
/// <summary>
/// 信息提示并前往指定Url
/// </summary>
/// <param name="txt">信息内容</param>
/// <param name="url">指定前往的Url</param>
public static void Message(string txt, string url)
{
System.Web.HttpContext.Current.Response.Write("<script type='text/javascript'>alert('" + txt + "');location.href='" + url + "';</script>");
}
/// <summary>
/// 信息提示并前往指定Url
/// </summary>
/// <param name="txt">信息内容</param>
/// <param name="url">指定前往的Url</param>
public static void Message2(string txt, string url)
{
System.Web.HttpContext.Current.Response.Write("<script type='text/javascript'>alert('" + txt + "');open('" + url + "','mainFrame');</script>");
}
#endregion
#region
/// <summary>
/// 调用自定义弹出对话框
/// </summary>
/// <param name="page">调用页面</param>
/// <param name="FunctionName">js函数名称有参数请带上参数Check('dd');</param>
public static void Message(System.Web.UI.Page page, string FunctionName)
{
page.ClientScript.RegisterStartupScript(page.GetType(), DateTime.Now.ToString(), FunctionName, true);
}
#endregion
#region Url
/// <summary>
/// 获取Url
/// </summary>
/// <param name="stReplace">替换参数</param>
public static string getUrl(string stReplace)
{
string strurl=System.Web.HttpContext.Current.Request.Url.AbsoluteUri.ToString();
if (strurl.IndexOf("?") != -1)
{
if (strurl.IndexOf(stReplace) != -1)
{
strurl = strurl.Replace(strurl.Substring(strurl.IndexOf(stReplace), strurl.Length - strurl.IndexOf(stReplace)), "");
}
else
{
strurl = strurl + "&";
}
}
else
{
strurl += "?";
}
return strurl;
}
#endregion
#region MD5加密
/// <summary>
/// MD5加密
/// </summary>
/// <param name="str">要加密的文本</param>
/// <returns></returns>
public static string ToMD5(string str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
}
#endregion
#region SHA512加密
/// <summary>
/// SHA512加密
/// </summary>
/// <param name="str">要加密的文本</param>
/// <returns></returns>
public static string ToSHA512(string str)
{
SHA512 sha512 = new SHA512Managed();
byte[] sha512Bytes = Encoding.Default.GetBytes(str);
byte[] cryString = sha512.ComputeHash(sha512Bytes);
string sha512Str = string.Empty;
for (int i = 0; i < cryString.Length; i++)
{
sha512Str += cryString[i].ToString();
}
return sha512Str;
}
#endregion
#region
/// <summary>
/// 绑定数据显示控件
/// </summary>
/// <param name="Ct">数据控件名称</param>
/// <param name="datasource">数据源</param>
public static void ToBind(Control Ct, object Ds)
{
if (Ct is Repeater)
{
Repeater Control = Ct as Repeater;
Control.DataSource = Ds;
Control.DataBind();
}
else if (Ct is DataList)
{
DataList Control = Ct as DataList;
Control.DataSource = Ds;
Control.DataBind();
}
else if (Ct is GridView)
{
GridView Control = Ct as GridView;
Control.DataSource = Ds;
Control.DataBind();
}
}
#endregion
#region
/// <summary>
/// 绑定列表控件
/// </summary>
/// <param name="Ct">列表控件名称</param>
/// <param name="datasource">数据源</param>
/// <param name="text">文本</param>
/// <param name="value">值</param>
public static void ToBind(Control Ct, object datasource, string text, string value)
{
if (Ct is DropDownList)
{
DropDownList Control = Ct as DropDownList;
Control.DataSource = datasource;
Control.DataTextField = text;
Control.DataValueField = value;
Control.DataBind();
}
}
#endregion
#region
/// <summary>
/// 截取字符串
/// </summary>
/// <param name="str">目标字符串</param>
/// <param name="length">长度</param>
/// <returns>返回截取后的字符</returns>
public static string GetString(string str, int length)
{
//限制输出字符串
String output = "";
if (str.Length < length)
{
output = str;
}
else
{
output = str.Substring(0, length) + "...";
}
return output;
}
#endregion
#region
/// <summary>
/// 将数组值用指定的连接字符串逗连接输出
/// </summary>
/// <param name="array">源数组</param>
/// <param name="Str">连接字符串</param>
/// <returns></returns>
public static string ToString(Array array, string Str)
{
StringBuilder sb = new StringBuilder();
foreach (object o in array)
{
sb.Append(o.ToString());
sb.Append(Str);
}
return sb.ToString().EndsWith(Str) ? sb.Remove(sb.Length - 1, 1).ToString() : sb.ToString();
}
#endregion
#region
/// <summary>
/// 敏感字符过滤
/// </summary>
/// <param name="value">值</param>
/// <returns></returns>
public static string Filter(string value)
{
Dictionary<string, string> ht = new Dictionary<string, string>();
ht.Add("我日", "**");
ht.Add("我草", "**");
ht.Add("我操", " **");
ht.Add("操你妈", "***");
ht.Add("叼你老母", "****");
ht.Add("法轮功", "***");
ht.Add("我叼", "**");
ht.Add("鸡巴", "**");
ht.Add("閪", "*");
ht.Add("贱人", "**");
ht.Add("贱B", "**");
ht.Add("傻B", "**");
ht.Add("你娘", "**");
ht.Add("陈冠希", "***");
ht.Add("共产党", "***");
ht.Add("乳头", "**");
ht.Add("阴道", "**");
ht.Add("龟头", "**");
ht.Add("乳房", "**");
ht.Add("阴蒂", "");
ht.Add("色情", "**");
ht.Add("A片", "**");
ht.Add("三级片", "**");
ht.Add("嫖娼", "**");
ht.Add("卖淫", "**");
ht.Add("海洛因", "***");
ht.Add("强奸", "**");
ht.Add("轮奸", "**");
ht.Add("迷奸", "**");
ht.Add("肛交", "**");
ht.Add("乱伦", "**");
ht.Add("你妈的B", "****");
ht.Add("你妈的逼", "****");
ht.Add("你妈逼", "***");
ht.Add("性交", "**");
ht.Add("垃圾", "**");
ht.Add("疯狂", "**");
ht.Add("疯狂消费", "****");
ht.Add("疯狂消费网", "*****");
ht.Add("传销", "**");
ht.Add("集资", "**");
ht.Add("达赖", "**");
ht.Add("藏独", "**");
ht.Add("胡锦涛", "**");
ht.Add("<", "&lt;");
ht.Add(">", "&gt;");
ht.Add("{201}", "<img src=\"/images/ubb/face201.gif\">");
ht.Add("{202}", "<img src=\"/images/ubb/face202.gif\">");
ht.Add("{203}", "<img src=\"/images/ubb/face203.gif\">");
ht.Add("{204}", "<img src=\"/images/ubb/face204.gif\">");
ht.Add("{205}", "<img src=\"/images/ubb/face205.gif\">");
ht.Add("{206}", "<img src=\"/images/ubb/face206.gif\">");
ht.Add("{207}", "<img src=\"/images/ubb/face207.gif\">");
foreach (KeyValuePair<string, string> kv in ht)
{
value = value.Replace(kv.Key.ToString(), kv.Value.ToString());
}
return value;
}
/// <summary>
/// 敏感字符过滤
/// </summary>
/// <param name="value">值</param>
/// <returns></returns>
public static string Filter2(string value)
{
string[] str = {"法轮","洪志","大纪元","新唐人","强奸","肉棍","淫靡","淫水","六四事件","迷药","窃听器","六合彩","买卖枪支","退党",
"三唑仑","麻醉药","麻醉乙醚","帝国之梦","毛一鲜","黎阳评","色情","出售枪支","迷药","摇头丸","天葬","鬼村","军长发威",
"PK黑社会","恶搞晚会","枪决女犯","投毒杀人","强硬发言","出售假币","监听王","昏药","侦探设备","麻醉钢枪","反华","官商勾结",
"升达","手机复制","戴海静","自杀指南","自杀手册","张小平","安定片","蒙汗","古方迷香","失意药","迷歼药","透视眼镜","远程偷拍",
"自制手枪","子女任职名单","激情小电影","黄色小电影","小电影","天鹅之旅","盘古乐队","高校暴乱","群体事件","大学骚乱","高校骚乱",
"催情药","拍肩神药","春药","窃听器材","身份证生成","枪决现场","出售手枪","麻醉枪","办理证件","办理文凭","疆独","藏独","高干子弟",
"高干子女","枪支弹药","血腥图片","反政府","禁书","无界","特码","反共","成人","换妻","三级片","本拉登","地下先烈","领导财产公示",
"GPS预警器","毛主席复活","防拍器","电子狗","曝光王","隐形喷剂","催情水","变声电话","变声器","代开发票","死亡笔记","死亡日志",
"宋平顺","四种当","黄色图片","性爱电影","黄色电影","激情视频","激情图片","激情电影","十八禁","18禁","江姐问","董存瑞问",
"吴琼花问","拉登熟知中国","激情自拍","监听器","同居社区","淫虫","右派","赌博专用","透视器","核武器","透视照片","拦截器","冰毒",
"K粉","麻古","万能钥匙","赌博粉","地磅仪","无网界","性网","军火","广安事件","炒股国歌","素女","裸体","乱伦","嫖妓","嫖鸡","小穴",
"淫魔","做鸡","口交","粗口歌","a片","性虐待","女优","包娃衣","耽美","金瓶梅","18N","丝袜写真","维多利亚包","花花公子","大禁",
"美腿写真","H漫画","隐私1图片","H电影","H动漫","龙虎豹","啄木鸟公司","巴拉斯","玉蒲团","无码","PLAYBOY","ANDREWBLAKE","少儿不宜",
"藏春阁","痴汉是犯罪","裸女对对碰","偷窥有罪","虎胆雄心","买春堂","护士24点","秘密潜入","欲望格斗","七宗罪","尾行","冠军足球经理",
"命令与征服","性感扑克","六月联盟","The3FeelOnline","采花堂","爱姐妹","露拉3D","吸血莱恩","hcartoon","梦幻麻将馆","足球经理2005",
"性福人生","禁忌试玩","沉默杀手","惊悚空间","美少女麻雀","杨思敏","人工少女","电车之狼","Quake","监禁","臭作","欲望之血",
"性感沙滩","遗作","色狼网","ILUSION","红河谷论坛","AV麻将","恐惧杀手","波动少女","MC军团","恐怖牢笼","反雷达测速","英语枪手",
"假钞","电话拦截","探测狗手机跟踪","监听宝","针孔摄像","短信群发器","邮件群发器","信息群发器","反中游行","中国断交","大规模游行",
"中国政治力量","政府禁令","泽东","恩来","锦涛","小平","少奇","法轮","二奶","政府","上海交大","拆迁","水扁","301医院","达赖",
"明慧","美国之音","活体","蒙汗药","迷魂","迷奸","主席","总理","石靖","日本","台湾","朝鲜","跳蛋门","皇冠网址","皇冠开户","学生自杀",
"小姐上门服务","上门保健按摩","洋妞上门服务","洋妞兼职","兼职妹妹","兼职小姐","青岛代理发票",
"深圳公司发票","偽火","伪火","办理真实学历","办理真实文凭","代你考","代您各们考式","代您考","所长被打","公安的悲哀","欧打公安",
"武大","腐败案","韶关玩具厂","斗殴案","藏字石","天灭","唐笑被打","武警打人","超女被打","超女打人","超女打武警","打武警的超女","洗澡门",
"长安街逆向","韶关暴乱","旭日玩具厂","富人圈钱","政府走向富裕","唐笑打武警","有罪推定","长安街逆行","股票是毒品","警察象蚂蝗","干部吃王八",
"工商税务两条狼","群众像羔","豆芽有毒","果敢","销售发票","青岛发票","求购发票","购买发票","出售发票","劈腿门","坐爱门","性虐门","喂奶閅",
"针扎事件","广州三箭","温切斯特","破解仪器","上分器","定位器","干扰器","加分器","解码器","百家乐","六合彩","皇冠投注","催眠晕倒药","迷昏藥",
"三唑侖","代理国税","代理地税","代理海关","徐州发票","珠海发票","九江发票","上海发票","南京发票","长沙发票","深圳发票","厦门发票",
"北京发票","杭州发票","成都发票","品色堂","成人论坛","无双国","土嬉点军校","防屏蔽","幼香帝国","幼幼帝国","幼幼联盟","迷失少女天堂",
"碧香亭","幼香阁","救囯集中淫","逍遥宫","催情粉","透视仪","张怀阳","纪念六四","低价代开","代开本地","伟人也痛苦","摸奶门","翻墙软件",
"邓爷爷转世","李东风","报警男子仍被杀","两次出警太慢","特警抓错人","特警错抓人","醉酒警察","王米伦","裸身猥亵","裸露的下体","汽狗",
"加密狗","李蕊蕊","灰色宾馆","聚源宾馆","百家乐","二八杠","绿坝","滤霸","疆独","暴力事件","乌鲁木齐暴力","打砸抢烧","打砸抢事件",
"热比娅","韶关群殴","群殴事件","三唑仑","摸奶门","砸警车","围攻民警","躲猫猫","发票代理","湖北石首","湖北石市","永隆大酒店","石市酒店",
"石首酒店","信用卡提现","石首事件","代开發票","票务代理","生活像温家一样饱","群体事件","南康群体","辦證","哨兵遭袭案","春风沉醉的夜晚",
"制造伍德斯托克","流感比艾滋","小妹上门服务","工字气枪","工字枪","民办毕业证","温家保","新疆独立","中国高干子女任职","天安门事件",
"天安门运动","民运分子","多党执政","胡主席","成人电影","三级电影","三级影片","色情影片","电话窃听","电话拦截器","短信群发器","法轮大法",
"法轮功","仿真枪","短信群发器","考试作弊","监听器","监听头","监听王","江胡内斗","隐形耳机","隐形摄像机","眼镜透视","开平轮奸","开平受辱",
"麻醉枪","美女裸体","蒙汗药","迷奸药","迷情粉","迷情水","迷情药","迷药","拍肩药","情色论坛","人类灭亡时间表","三秒倒","色情电影","黄色电影",
"色情小说","手机定位器","手机窃听","替考","偷听器","透视眼镜","微型监控","无线监听","性交视频","性交图片","迷奸粉","催情粉","一码中特",
"淫荡视频","淫荡照片","阴茎增大","阴茎助勃","淫荡美女","唑仑乙醚","作弊耳机","足球投注","追踪定位","真人百家乐","真钱百家乐","针孔摄像机",
"针孔摄象机","原子弹清单","原子弹方法","宫刑部","宫刑局","迷魂藥","无抵押贷款","办理大学文凭","办理文凭","代办文凭","仿牌香烟","成人聊天室",
"大学生传销案","联邦信贷","瞌睡干部","邓玉娇","手机跟踪","跟踪定位","国内外文凭","代理发票","地税代开","国税代开","新疆像牢房","醱票",
"代开上海","嫖宿幼女","金盾工程","自由门","拾音器","刘宾雁","中共当局","武力镇压","流亡海外","流亡政府","核爆试验","年代发生过",
"六四学潮","乖乖药","复合药","复合粉","催情粉","迷幻催眠","弓弩","军品刀具","各种学历","办理学历","代办学历","代办学证","办理学证","徐其耀",
"张宗海","李玉书","办英语四六八级","老婆比划老公","小胡同学","刘芳芳","刘莉莉","处女卖淫","劳教一条龙","中国使馆被炸","李春富","张凯头",
"尚艺江津警察","警察暴力","西山坪","李咏","哨兵案","重庆哨兵","什头痛","地下先烈","内射无码","情色五月","五月天","草泥马","卧草泥马",
"马勒戈壁","百度十大神器","十大神秘美食","催眠药","真钱斗地主","诈金花","激情视频","海口辦証","包二奶大赛","邓贵大","打钢珠","沁园春","卖淫案",
"卖淫女","刘氏姐妹","昆明博华小学","公交车自燃","有个锤子","锤子的锤子","爆燃事件","成都九路公交","刘莉莉两姐妹","处女膜破裂","宋庆龄","笑趴李勇",
"笑趴李咏","赌博药","赌博粉","变声器","电话变声","银行卡复制器","赌博透视","透视工具","催情药","阿普唑仑","迷幻水","麻醉迷昏","考试专家",
"中国政府武力","政府武力清场","天安门学生运动","张伯笠","六四运动","六四事件","胡耀邦死","镇压游行","镇压运动","学生游行","公务员包二奶",
"全国包二奶","不愿做潜规则奴隶","潜规则的奴隶","劫后天府纵横泪","作弊设备","作弊工具","六级必备器材","考试器材","流感大爆发","变异成毒性更强",
"良宇被免","涛哥试比高","官舞权力","两弹核爆","中央信访","国母宋袓英","主持人的内衣","吕布也曾经骑过","李咏的内衣","李咏曰","泽东遗嘱","李咏都笑哭",
"暴政奥运","政治奥运","腐败奥运","恐怖奥运","周永康","代办証","广州办証","上海办証","办証服务","天津办証","本专科办理","办理英语","办大专本科",
"办学位证","发令枪","还看锦涛","两弹魂消","淫穴","巨乳","郑少东","黄光裕","泽东领导穷光蛋","邓小平预言","二中艳照","各部门年终总结","群中流传",
"春节联欢晚会节目","奶业内幕","张伯笠","小姐上门服务","性息总汇","激情聊天室","成人激情","春晚最新节目","春晚节目","教师大罢课","教师罢课",
"真的很非常","杀手培训","热舞视频","哈尔滨警察","七大荒唐","干扰上分器","退币王","钢珠枪","神奇手机","监听设备","一天一杯牛奶",
"振兴一个民族","中国人口号","震惊一个民族","毒奶","化学扫盲","化学文盲","隐形车牌","车牌喷剂","股市送葬","套牌车","假发票","吃婴儿","江泽民骂记者",
"迷情药","諾斯特拉達姆士","諸世紀","各國交戰","開戰","四清四不清","社会速写","地震中的笑话","越踢越臭为耻","亚洲无名为耻","火药","动力钢珠",
"大字歌","银行木马","中国不强大都不行","迟浩田","气狗","刻章","各种枪","研究生考试","不强都不行","拦截器","官场系列","抵制中国","奶粉事件","户改措施",
"宪章","手机追踪","性骚扰","色影师","激情镜头","美女出浴","少妇诱惑","性爱","研究生考试答案","拦截器","官场民谣","泽东领导","公务员考试答案",
"出售假币","研究生考试","代考信息","小姐的呐喊","大学对联","春晚最新节目单","力月西","枪支","安定片","六合彩","法一轮","反共","新生网",
"新唐人","西藏独立","西藏事件","西藏暴动","西藏枪战","稻城枪战","钱进进","死亡笔记","两岸才子对话","烟灶门","屏蔽的敏感关键字","恐怖的解决人口",
"儿童访谈","中华帝国","条规矩","无耻语录","冰毒","麻古","摇头丸","王志平","颜门照","颜照门","照片门","艳门照","艳照门","蚁力神","身份证自动在线",
"国难民营","布伦瑞克难民","裁听器","步枪","麻醉枪","猎枪","蚂蚁神","幼童死亡","四川幼童死亡","广安事件","广安特大事件","公务员考中答案","英语四级答案",
"考研答案","代考","助考","屏蔽器","万里长城万里长","核武器","朱蒙","大奶","内射","射精","肉棍","阴户","鸡吧","阴唇","淫靡","淫水","梦中的女孩",
"阴茎","阴蒂","我口交","曾道人","激流中国","公安部关闭交互","太王四神","渊盖苏文","富人与农民工","迷昏药","毛主席复活","抽插","荡妇","手淫",
"迷药","迷魂药","迷药","迷魂药","二奶大赛","幼妇","迷幻药","监听器","手枪","三唑酮","假证","假票","窃听器","走私汽车","催情药","麻醉乙醚",
"地下的先烈","渊盖苏文","富人与农民工","导弹不断","老胡去看老毛","政府蛮干","老江去看老毛","陶驷驹","李纪周","尹方明","副教授遭警察枪击",
"毛泽东复活","毛爷爷复活","大祚榮","朱颜血","校花沉沦记","五奶小青","江湖淫娘","红楼绮梦","骆冰淫传","夫妇乐园","阿里布达年代记","爱神之传奇",
"不良少女日记","沧澜曲","创世之子猎艳之旅","熟女之惑","风骚侍女","海盗的悠闲","黑天使","黑星女侠","混蛋神风流史","狡猾的风水相师","俪影蝎心",
"秦青的幸","四海龙女","逃亡艳旅","我的性启蒙","现代艳帝","伴我淫","屠龙别记","淫术炼金士","十景缎","往事追忆录","舌战法庭","少妇白洁","风月大陆",
"风尘劫","妇的哀羞","哥言语录","年春衫薄","王子淫传","神雕外传","睡着的武神","少年阿宾","金鳞岂是池中物","江山美人志","禁断少女","枪淫少妇",
"淫间道","嫩穴","天鹅之旅","玉蒲团","电车之狼","出售银行","出售发票","代开发票","发票代开","迷昏蚊香","迷昏香烟","失身药","海乐神","酣乐欣",
"短信猫","车牌反光","法輪","学生暴动","镇压学生","趙紫陽","赵紫阳","自由亚州","香港马会","高莺莺","自杀手册","无界浏览","美国之音","赵紫阳",
"反中游行","马加爵","死刑过程","色空寺","温家堡","灭绝罪","生成身份证","身份证生成","长药罢工","王奉友","高耀洁","上海市委书记","胡温",
"手机拦截器","喷雾器","逃税卡","手槍","獵槍","沙沙劲舞王","瓮安副县长","现代唐伯虎","领导人的对话","恶搞福娃","气枪","秃鹰","替考","英语代考",
"领导亲戚","四川政府曾辟","舞弊门","辽宁女","夫妻酒吧","温切斯特","铅弹","一窝专家","作弊器","春色无戒","真实的中国现况","南航深圳","领导的对话",
"中国不强都不行","考前答案","佩服李白","奥年叶落","销售军用","英语考试答案","铅弹","温切斯","枪械","成品冰","告西藏同胞书","都求恼火","延误几万同胞性命",
"天津事件","连刺上海","公安部专项","毛泽东预言","毛主席临终","开平视频","中国的领导人","胡书记去看毛主席","南方冻雨泛滥","青藏达赖乱窜",
"台湾想要单干","股市一片混乱","论三个代表","担心党内","淫女","有趣对话","地震后遗症","主席和小平散步","八荣八耻","黄色新闻","租吸","小平问",
"我是深市","套牢不觉晓","股市百丈冰","举头望大盘","少妇套图","毛主席","江主席","特码","李洪志","大纪元","真善忍","成人的潜台词","新疆叛乱纪实",
"骚妇","自慰","先烈们的牵挂","出售假人民币","与拉登","春药","中国高干","中国现况","国家领导人对话","这样搭配","妓女的年终总结","三个呆婊",
"叫鸡市场","学女生遭凌辱","开平人社区","上海袭警","股海风光","万民血漂","望沪深两市","万民血漂","跌停无数","政策不出","欲与米过比糟糕",
"赌全盘绿裹","贪官临终遗言","国家领导人名单","但大扯蛋","四大怪事","五大谎言","六大悲哀","原来福娃有","出售网上银行木马","沈阳球迷痛骂",
"球迷挑衅","手狗","老虎机","反共产党","盗卖内脏","股落股涨","开幕式的深意","火药动力钢珠","扎弹制作","炸弹制作","奶粉门"
};
for (int i = 0; i < str.Length; i++)
{
value = value.Replace(str[i], "*****");
}
return value;
}
#endregion
#region DataTable转换成JSON
//DataTable转换成JSON
public static string ToJson(DataTable dt)
{
StringBuilder JsonString = new StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
JsonString.Append("[ ");
for (int i = 0; i < dt.Rows.Count; i++)
{
JsonString.Append("{ ");
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j < dt.Columns.Count - 1)
{
JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\",");
}
else if (j == dt.Columns.Count - 1)
{
JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\"");
}
}
if (i == dt.Rows.Count - 1)
{
JsonString.Append("} ");
}
else
{
JsonString.Append("}, ");
}
}
JsonString.Append("]");
return JsonString.ToString();
}
else
{
return null;
}
}
#endregion
#region
/// <summary>
/// 正则判断是否是手机号
/// </summary>
/// <param name="value">值</param>
/// <returns></returns>
public static bool ToPhone2(string value)
{
if (Regex.IsMatch(value, @"^13\d{9}$") ||
Regex.IsMatch(value, @"^14\d{9}$") ||
Regex.IsMatch(value, @"^15\d{9}$") ||
Regex.IsMatch(value, @"^18\d{9}$"))
{ return true; }
else
{ return false; }
}
#endregion
#region DataSet导出数据到Execl
/// <summary>
/// DataSet导出数据到Execl
/// </summary>
/// <param name="ds">DataSet</param>
/// <param name="FileName">文件名</param>
/// <param name="pg">Page</param>
public static void CreateExcel(DataSet ds, string FileName, System.Web.UI.Page Pg)
{
HttpResponse resp;
resp = Pg.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders = "", ls_item = "";
DataTable dt = ds.Tables[0];
DataRow[] myRow = dt.Select();
int i = 0;
int cl = dt.Columns.Count;
for (i = 0; i < cl; i++)
{
if (i == (cl - 1))
{
colHeaders += dt.Columns[i].Caption.ToString() + "\n";
}
else
{
colHeaders += dt.Columns[i].Caption.ToString() + "\t";
}
}
resp.Write(colHeaders);
//逐行处理数据 
foreach (DataRow row in myRow)
{
for (i = 0; i < cl; i++)
{
if (i == (cl - 1))
{
ls_item += row[i].ToString() + "\n";
}
else
{
ls_item += row[i].ToString() + "\t";
}
}
resp.Write(ls_item);
ls_item = "";
}
resp.End();
}
#endregion
#region
/// <summary>
/// 添加缓存 相对过期
/// </summary>
/// <param name="nameValue">缓存名称</param>
/// <param name="objValue">换存对象</param>
/// <param name="s">过期时间/分钟</param>
public static void insertCache(string nameValue, Object objValue, double s)
{
if (HttpContext.Current.Cache[nameValue] == null)
{
HttpContext.Current.Cache.Insert(nameValue, objValue, null, DateTime.Now.AddMinutes(s), System.Web.Caching.Cache.NoSlidingExpiration);
}
}
#endregion
#region
/// <summary>
/// 返回一个随机数
/// </summary>
/// <param name="min_value"></param>
/// <param name="max_value"></param>
/// <returns></returns>
public static int GetRadomNum(int min_value, int max_value)
{
return new Random().Next(min_value, max_value);
}
#endregion
#region js脚本
/// <summary>
/// 过滤js脚本。
/// </summary>
/// <param name="html"></param>
/// <returns></returns>
public static string WipeScript(string html)
{
if (string.IsNullOrEmpty(html)) return html;
Regex regex = new Regex(@"<script[\s\S]+</script *>", RegexOptions.IgnoreCase);
html = regex.Replace(html, ""); //过滤<script></script>标记
Regex regex1 = new Regex(@" href *= *[\s\S]*script *:", RegexOptions.IgnoreCase);
html = regex1.Replace(html, ""); //过滤href=javascript: (<A>) 属性
Regex regex2 = new Regex(@" on[\s\S]*=", RegexOptions.IgnoreCase);
html = regex2.Replace(html, " _disibledevent="); //过滤其它控件的on...事件
Regex regex3 = new Regex(@"<iframe[\s\S]+</iframe *>", RegexOptions.IgnoreCase);
html = regex3.Replace(html, ""); //过滤iframe
Regex regex4 = new Regex(@"<frameset[\s\S]+</frameset *>", RegexOptions.IgnoreCase);
html = regex4.Replace(html, ""); //过滤frameset
Regex regex5 = new Regex(@"javascript:", RegexOptions.IgnoreCase);
html = regex5.Replace(html, ""); //过滤所有javascript
Regex regex6 = new Regex(@":*expression", RegexOptions.IgnoreCase);
html = regex6.Replace(html, ""); //过滤所有javascript
Regex regex7 = new Regex(@"<!--[\s\S]*-->", RegexOptions.IgnoreCase);
html = regex7.Replace(html, ""); //过滤所有HTML说明标签
return html;
}
#endregion
#region
/// <summary>
/// 添加到缓存
/// </summary>
/// <param name="cacheName">缓存的名称</param>
/// <param name="cacheName">缓存的对象</param>
/// <param name="expirAtion">过期时间</param>
public static void CreateCache(string cacheName, object objValue, DateTime expirAtion)
{
if (HttpContext.Current.Cache[cacheName] == null)
{
HttpContext.Current.Cache.Insert(cacheName, objValue, null, expirAtion, TimeSpan.Zero);
}
}
#endregion
#region
/// <summary>
/// 判断是否是数字
/// </summary>
public static bool HasInt(string txt)
{
try
{
int.Parse(txt);
return true;
}
catch
{
return false;
}
}
#endregion
#region SQL语句安全过滤
/// <summary>
/// SQL语句安全过滤
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns></returns>
public static string SafeSQL(string sql)
{
if (!String.IsNullOrEmpty(sql))
{
Dictionary<string, string> ht = new Dictionary<string, string>();
string isNull = "";
ht.Add("insert", isNull);
ht.Add("delete", isNull);
ht.Add("update", isNull);
ht.Add("select", isNull);
ht.Add("count", isNull);
ht.Add("*", isNull);
ht.Add("from", isNull);
ht.Add(" ", isNull);
ht.Add("and", isNull);
ht.Add(";", isNull);
ht.Add("%", isNull);
ht.Add("exec", isNull);
ht.Add("master", isNull);
ht.Add("truncate", isNull);
ht.Add("create", isNull);
ht.Add("or", isNull);
ht.Add("alter", isNull);
ht.Add("drop", isNull);
ht.Add("sleep", isNull);
foreach (KeyValuePair<string, string> kv in ht)
{
sql = sql.ToLower().Replace(kv.Key.ToString(), kv.Value.ToString());
}
}
return sql;
}
#endregion
}
}