日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

.NET常用工具类(Utils.cs)

發(fā)布時(shí)間:2025/3/15 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET常用工具类(Utils.cs) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
????????/**////?<summary>
????????
///?刪除字符串尾部的回車(chē)/換行/空格
????????
///?</summary>
????????
///?<param?name="str"></param>
????????
///?<returns></returns>

????????public?static?string?RTrim(string?str)
????????
{
????????????
for?(int?i?=?str.Length;?i?>=?0;?i--)
????????????
{
????????????????
if?(str[i].Equals("?")?||?str[i].Equals("\r")?||?str[i].Equals("\n"))
????????????????
{
????????????????????str.Remove(i,?
1);
????????????????}

????????????}

????????????
return?str;
????????}

????????/**////?<summary>
????????
///?返回文件是否存在
????????
///?</summary>
????????
///?<param?name="filename">文件名</param>
????????
///?<returns>是否存在</returns>

????????public?static?bool?FileExists(string?filename)
????????
{
????????????
return?System.IO.File.Exists(filename);
????????}

????????/**////?<summary>
????????
///?以指定的ContentType輸出指定文件文件
????????
///?</summary>
????????
///?<param?name="filepath">文件路徑</param>
????????
///?<param?name="filename">輸出的文件名</param>
????????
///?<param?name="filetype">將文件輸出時(shí)設(shè)置的ContentType</param>

????????public?static?void?ResponseFile(string?filepath,?string??filename,?string?filetype)
????????
{
????????????Stream?iStream?
=?null;

????????????
//?緩沖區(qū)為10k
????????????byte[]?buffer?=?new?Byte[10000];

????????????
//?文件長(zhǎng)度
????????????int?length;

????????????
//?需要讀的數(shù)據(jù)長(zhǎng)度
????????????long?dataToRead;

????????????
try
????????????
{
????????????????
//?打開(kāi)文件
????????????????iStream?=?new?FileStream(filepath,?FileMode.Open,?FileAccess.Read,?FileShare.ReadWrite);


????????????????
//?需要讀的數(shù)據(jù)長(zhǎng)度
????????????????dataToRead?=?iStream.Length;

????????????????HttpContext.Current.Response.ContentType?
=?filetype;
????????????????HttpContext.Current.Response.AddHeader(
"Content-Disposition",?"attachment;filename="?+?Utils.UrlEncode(filename.Trim()).Replace("+",?"?"));

????????????????
while?(dataToRead?>?0)
????????????????
{
????????????????????
//?檢查客戶(hù)端是否還處于連接狀態(tài)
????????????????????if?(HttpContext.Current.Response.IsClientConnected)
????????????????????
{
????????????????????????length?
=?iStream.Read(buffer,?0,?10000);
????????????????????????HttpContext.Current.Response.OutputStream.Write(buffer,?
0,?length);
????????????????????????HttpContext.Current.Response.Flush();
????????????????????????buffer?
=?new?Byte[10000];
????????????????????????dataToRead?
=?dataToRead?-?length;
????????????????????}

????????????????????
else
????????????????????
{
????????????????????????
//?如果不再連接則跳出死循環(huán)
????????????????????????dataToRead?=?-1;
????????????????????}

????????????????}

????????????}

????????????
catch?(Exception?ex)
????????????
{
????????????????HttpContext.Current.Response.Write(
"Error?:?"?+?ex.Message);
????????????}

????????????
finally
????????????
{
????????????????
if?(iStream?!=?null)
????????????????
{
????????????????????
//?關(guān)閉文件
????????????????????iStream.Close();
????????????????}

????????????}

????????????HttpContext.Current.Response.End();
????????}

????????/**////?<summary>
????????
///?判斷文件名是否為瀏覽器可以直接顯示的圖片文件名
????????
///?</summary>
????????
///?<param?name="filename">文件名</param>
????????
///?<returns>是否可以直接顯示</returns>

????????public?static?bool?IsImgFilename(string?filename)
????????
{
????????????filename?
=?filename.Trim();
????????????
if?(filename.EndsWith(".")?||?filename.IndexOf(".")?==?-1)
????????????
{
????????????????
return?false;
????????????}

????????????
string?extname?=?filename.Substring(filename.LastIndexOf(".")?+?1).ToLower();
????????????
return?(extname?==?"jpg"?||?extname?==?"jpeg"?||?extname?==?"png"?||?extname?==?"bmp"?||?extname?==?"gif");
????????}

????????/**////?<summary>
????????
///?MD5函數(shù)
????????
///?</summary>
????????
///?<param?name="str">原始字符串</param>
????????
///?<returns>MD5結(jié)果</returns>

????????public?static?string?MD5(string?str)
????????
{
????????????
byte[]?b?=?Encoding.Default.GetBytes(str);
????????????b?
=?new?MD5CryptoServiceProvider().ComputeHash(b);
????????????
string?ret?=?"";
????????????
for(int?i?=?0;?i?<?b.Length;?i++)
????????????????ret?
+=?b[i].ToString("x").PadLeft(2,'0');
????????????
return?ret;
????????}

????????/**////?<summary>
????????
///?SHA256函數(shù)
????????
///?</summary>
????????
///?///?<param?name="str">原始字符串</param>
????????
///?<returns>SHA256結(jié)果</returns>

????????public?static?string?SHA256(string?str)
????????
{
????????????
byte[]?SHA256Data?=?Encoding.UTF8.GetBytes(str);
????????????SHA256Managed?Sha256?
=?new?SHA256Managed();
????????????
byte[]?Result?=?Sha256.ComputeHash(SHA256Data);
????????????
return?Convert.ToBase64String(Result);??//返回長(zhǎng)度為44字節(jié)的字符串
????????}

????????/**////?<summary>
????????
///?檢測(cè)是否符合email格式
????????
///?</summary>
????????
///?<param?name="strEmail">要判斷的email字符串</param>
????????
///?<returns>判斷結(jié)果</returns>

????????public?static?bool?IsValidEmail(string?strEmail)
????????
{
????????????
return?Regex.IsMatch(strEmail,?@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
????????}


????????
public?static?bool?IsValidDoEmail(string?strEmail)
????????
{
????????????
return?Regex.IsMatch(strEmail,?@"^@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
????????}

????????/**////?<summary>
????????
///?檢測(cè)是否是正確的Url
????????
///?</summary>
????????
///?<param?name="strUrl">要驗(yàn)證的Url</param>
????????
///?<returns>判斷結(jié)果</returns>

????????public?static?bool?IsURL(string?strUrl)
????????
{
????????????
return?Regex.IsMatch(strUrl,?@"^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$");
????????}


????????
public?static?string?GetEmailHostName(string?strEmail)
????????
{
????????????
if?(strEmail.IndexOf("@")?<?0)
????????????
{
????????????????
return?"";
????????????}

????????????
return?strEmail.Substring(strEmail.LastIndexOf("@")).ToLower();
????????}

????????/**////?<summary>
????????
///?檢測(cè)是否有Sql危險(xiǎn)字符
????????
///?</summary>
????????
///?<param?name="str">要判斷字符串</param>
????????
///?<returns>判斷結(jié)果</returns>

????????public?static?bool?IsSafeSqlString(string?str)
????????
{

????????????
return?!Regex.IsMatch(str,?@"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");?
????????}

????????/**////?<summary>
????????
///?替換回車(chē)換行符為html換行符
????????
///?</summary>

????????public?static?string?StrFormat(string?str)
????????
{
????????????
string?str2;

????????????
if?(str?==?null)
????????????
{
????????????????str2?
=?"";
????????????}

????????????
else
????????????
{
????????????????str?
=?str.Replace("\r\n",?"<br?/>");
????????????????str?
=?str.Replace("\n",?"<br?/>");
????????????????str2?
=?str;
????????????}

????????????
return?str2;
????????}


????????/**////?<summary>
????????
///?轉(zhuǎn)換為簡(jiǎn)體中文
????????
///?</summary>

????????public?static?string?ToSChinese(string?str)
????????
{
????????????
return?Strings.StrConv(str,?VbStrConv.SimplifiedChinese,?0)?;
????????}


????????
/**////?<summary>
????????
///?轉(zhuǎn)換為繁體中文
????????
///?</summary>

????????public?static?string?ToTChinese(string?str)
????????
{
????????????
return?Strings.StrConv(str,?VbStrConv.TraditionalChinese,?0);
????????}


????????/**////?<summary>
????????
///?返回?HTML?字符串的編碼結(jié)果
????????
///?</summary>
????????
///?<param?name="str">字符串</param>
????????
///?<returns>編碼結(jié)果</returns>

????????public?static?string?HtmlEncode(string?str)
????????
{
????????????
return?HttpUtility.HtmlEncode(str);
????????}


????????
/**////?<summary>
????????
///?返回?HTML?字符串的解碼結(jié)果
????????
///?</summary>
????????
///?<param?name="str">字符串</param>
????????
///?<returns>解碼結(jié)果</returns>

????????public?static?string?HtmlDecode(string?str)
????????
{
????????????
return?HttpUtility.HtmlDecode(str);
????????}


????????
/**////?<summary>
????????
///?返回?URL?字符串的編碼結(jié)果
????????
///?</summary>
????????
///?<param?name="str">字符串</param>
????????
///?<returns>編碼結(jié)果</returns>

????????public?static?string?UrlEncode(string?str)
????????
{
????????????
return?HttpUtility.UrlEncode(str);
????????}


????????
/**////?<summary>
????????
///?返回?URL?字符串的編碼結(jié)果
????????
///?</summary>
????????
///?<param?name="str">字符串</param>
????????
///?<returns>解碼結(jié)果</returns>

????????public?static?string?UrlDecode(string?str)
????????
{
????????????
return?HttpUtility.UrlDecode(str);
????????}

????????/**////?<summary>
????????
///?寫(xiě)cookie值
????????
///?</summary>
????????
///?<param?name="strName">名稱(chēng)</param>
????????
///?<param?name="strValue"></param>
????????
///?<param?name="strValue">過(guò)期時(shí)間(分鐘)</param>

????????public?static?void?WriteCookie(string?strName,?string?strValue,?int?expires)
????????
{
????????????HttpCookie?cookie?
=?HttpContext.Current.Request.Cookies[strName];
????????????
if?(cookie?==?null)
????????????
{
????????????????cookie?
=?new?HttpCookie(strName);
????????????}

????????????cookie.Value?
=?strValue;
????????????cookie.Expires?
=?DateTime.Now.AddMinutes(expires);
????????????HttpContext.Current.Response.AppendCookie(cookie);

????????}


????????
/**////?<summary>
????????
///?讀cookie值
????????
///?</summary>
????????
///?<param?name="strName">名稱(chēng)</param>
????????
///?<returns>cookie值</returns>

????????public?static?string?GetCookie(string?strName)
????????
{
????????????
if?(HttpContext.Current.Request.Cookies?!=?null?&&?HttpContext.Current.Request.Cookies[strName]?!=?null)
????????????
{
????????????????
return?HttpContext.Current.Request.Cookies[strName].Value.ToString();
????????????}


????????????
return?"";
????????}


????????/**////?<summary>
????????
///?過(guò)濾HTML中的不安全標(biāo)簽
????????
///?</summary>
????????
///?<param?name="content"></param>
????????
///?<returns></returns>

????????public?static?string?RemoveUnsafeHtml(string?content)
????????
{
????????????content?
=?Regex.Replace(content,?@"(\<|\s+)o([a-z]+\s?=)",?"$1$2",?RegexOptions.IgnoreCase);
????????????content?
=?Regex.Replace(content,?@"(script|frame|form|meta|behavior|style)([\s|:|>])+",?"$1.$2",?RegexOptions.IgnoreCase);
????????????
return?content;
????????}

轉(zhuǎn)載于:https://www.cnblogs.com/LiJun027/archive/2007/12/28/1018978.html

總結(jié)

以上是生活随笔為你收集整理的.NET常用工具类(Utils.cs)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。