asp.net字符串處理類(lèi)代碼
更新時(shí)間:2012年06月07日 00:51:59 作者:
asp.net字符串處理類(lèi)代碼,需要的朋友可以參考下
復(fù)制代碼 代碼如下:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Security.Cryptography;
using System.IO;
using System.Text;
namespace StringClass
{
public class StringHelper
{
/// <summary>
/// 去掉字符串中的所有空格
/// </summary>
/// <param name="_str"></param>
/// <returns></returns>
public static string ReMoveBlank(string _str)
{
string strTemp = "";
CharEnumerator CEnumerator = _str.GetEnumerator();
while (CEnumerator.MoveNext())
{
byte[] array = new byte[1];
array = System.Text.Encoding.ASCII.GetBytes(CEnumerator.Current.ToString());
int asciicode = (short)(array[0]);
if (asciicode != 32)
{
strTemp += CEnumerator.Current.ToString();
}
}
return strTemp;
}
/// <summary>
/// 截取字符串并限制字符串長(zhǎng)度,多于給定的長(zhǎng)度+。。。
/// </summary>
/// <param name="str">待截取的字符串</param>
/// <param name="len">每行的長(zhǎng)度,多于這個(gè)長(zhǎng)度自動(dòng)換行</param>
/// <param name="max">輸出字符串最大的長(zhǎng)度</param>
/// <returns></returns>
public static string CutStr(string str, int len, int max)
{
string s = "";
string sheng = "";
if (str.Length > max)
{
str = str.Substring(0, max);
sheng = "";
}
for (int i = 0; i < str.Length; i++)
{
int r = i % len;
int last = (str.Length / len) * len;
if (i != 0 && i <= last)
{
if (r == 0)
{
s += str.Substring(i - len, len) + "<br>";
}
}
else if (i > last)
{
s += str.Substring(i - 1);
break;
}
}
return s + sheng;
}
/// <summary>
/// 截取字符串,不限制字符串長(zhǎng)度
/// </summary>
/// <param name="str">待截取的字符串</param>
/// <param name="len">每行的長(zhǎng)度,多于這個(gè)長(zhǎng)度自動(dòng)換行</param>
/// <returns></returns>
public static string CutStr(string str, int len)
{
string s = "";
for (int i = 0; i < str.Length; i++)
{
int r = i % len;
int last = (str.Length / len) * len;
if (i != 0 && i <= last)
{
if (r == 0)
{
s += str.Substring(i - len, len) + "<br>";
}
}
else if (i > last)
{
s += str.Substring(i - 1);
break;
}
}
return s;
}
public static string PartSubString(string str, int len)
{
if (str.Length > len)
{
return str.Substring(0, len) + "...";
}
return str;
}
/// <summary>
///這個(gè)方法確保用戶(hù)的輸入不是惡毒的
/// </summary>
/// <param name="text">輸入字符串</param>
/// <param name="maxLength">最大長(zhǎng)度</param>
/// <returns>轉(zhuǎn)換后的字符串</returns>
public static string InputText(string text, int maxLength)
{
text = text.Trim();
if (string.IsNullOrEmpty(text))
return string.Empty;
if (text.Length > maxLength)
text = text.Substring(0, maxLength);
text = Regex.Replace(text, "[\\s]{2,}", " "); //two or more spaces
text = Regex.Replace(text, "(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?>)", "\n"); //<br>
text = Regex.Replace(text, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+", " "); //
text = Regex.Replace(text, "<(.|\\n)*?>", string.Empty); //any other tags
text = text.Replace("'", "''");
return text;
}
/// <summary>
/// 字符串中大寫(xiě)字符轉(zhuǎn)小寫(xiě)
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string StringToLower(string str)
{
Char[] a = str.ToCharArray();
string strTemp = "";
for (int i = 0; i < a.Length; i++)
{
if (Convert.ToInt32(a[i]) >= 65 && Convert.ToInt32(a[i]) <= 90)
strTemp += a[i].ToString().ToLower();
else
strTemp += a[i].ToString();
}
return strTemp;
}
/// <summary>
/// 加密
/// </summary>
/// <param name="str"></param>
/// <param name="key">必須是8位的字符串</param>
/// <returns></returns>
public static string Encode(string str, int keyIndex)
{
ArrayList alKey = new ArrayList();
alKey.Add("BookT@#+!NumBq2");
alKey.Add("MagaZine@(21&*ID5");
alKey.Add("ThesisDSHI}._Y");
string key = alKey[keyIndex].ToString();
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
byte[] bytes = Encoding.GetEncoding("GB2312").GetBytes(str);
MemoryStream stream = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write);
stream2.Write(bytes, 0, bytes.Length);
stream2.FlushFinalBlock();
StringBuilder builder = new StringBuilder();
foreach (byte num in stream.ToArray())
{
builder.AppendFormat("{0:X2}", num);
}
stream.Close();
return builder.ToString();
}
/// <summary>
/// Des 解密 GB2312
/// </summary>
/// <param name="str">Desc string</param>
/// <param name="key">Key ,必須為8位 </param>
/// <returns></returns>
public static string Decode(string str, int keyIndex)
{
ArrayList alKey = new ArrayList();
alKey.Add("BookT@#+!NumBq2");
alKey.Add("MagaZine@(21&*ID5");
alKey.Add("ThesisDSHI}._Y");
string key = alKey[keyIndex].ToString();
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
byte[] buffer = new byte[str.Length / 2];
for (int i = 0; i < (str.Length / 2); i++)
{
int num2 = Convert.ToInt32(str.Substring(i * 2, 2), 0x10);
buffer[i] = (byte)num2;
}
MemoryStream stream = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.Write);
stream2.Write(buffer, 0, buffer.Length);
stream2.FlushFinalBlock();
stream.Close();
return Encoding.GetEncoding("GB2312").GetString(stream.ToArray());
}
/// <summary>
/// MD5不可逆加密 32位
/// </summary>
/// <param name="s"></param>
/// <param name="_input_charset"></param>
/// <returns></returns>
public static string GetMD5_32(string str1)
{
string cl1 = str1;
string pwd = "";
MD5 md5 = MD5.Create();
// 加密后是一個(gè)字節(jié)類(lèi)型的數(shù)組
byte[] s = md5.ComputeHash(Encoding.Unicode.GetBytes(cl1));
// 通過(guò)使用循環(huán),將字節(jié)類(lèi)型的數(shù)組轉(zhuǎn)換為字符串,此字符串是常規(guī)字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 將得到的字符串使用十六進(jìn)制類(lèi)型格式。格式后的字符是小寫(xiě)的字母,如果使用大寫(xiě)(X)則格式后的字符是大寫(xiě)字符
pwd = pwd + s[i].ToString("x");
}
return pwd;
}
/// <summary>
/// MD5不可逆加密 16位
/// </summary>
/// <param name="ConvertString"></param>
/// <returns></returns>
public static string GetMd5_16(string ConvertString)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
t2 = t2.Replace("-", "");
return t2;
}
}
}
您可能感興趣的文章:
- Asp.Net中的字符串和HTML十進(jìn)制編碼轉(zhuǎn)換實(shí)現(xiàn)代碼
- ASP.NET過(guò)濾HTML字符串方法總結(jié)
- ASP.NET JSON字符串與實(shí)體類(lèi)的互轉(zhuǎn)換示例代碼
- ASP.NET兩個(gè)截取字符串的方法分享
- ASP.NET從字符串中查找字符出現(xiàn)次數(shù)的具體實(shí)現(xiàn)方法
- asp.net判斷字符串是否是中文的方法
- asp.net 計(jì)算字符串中各個(gè)字符串出現(xiàn)的次數(shù)
- asp.net中將某字符串切割成陣列并排序列出
- asp.net分割字符串的幾種方法小結(jié)
- ASP.NET通過(guò)自定義函數(shù)實(shí)現(xiàn)對(duì)字符串的大小寫(xiě)切換功能
相關(guān)文章
ASP.NET MVC 中實(shí)現(xiàn)基于角色的權(quán)限控制的處理方法
在ASP.NET MVC中,通過(guò)使用其所提供的內(nèi)置2013-03-03ajaxToolkit:ModalPopupExtender演示及實(shí)現(xiàn)代碼
ajaxToolkit:ModalPopupExtender可以讓用戶(hù)模擬新開(kāi)一個(gè)窗口,就是在模擬新開(kāi)窗口作多項(xiàng)選項(xiàng)的功能,感興趣的朋友可以了解下,希望此文對(duì)你有所幫助2013-01-01ASP.NET中實(shí)現(xiàn)獲取調(diào)用方法名
這篇文章主要介紹了ASP.NET中實(shí)現(xiàn)獲取調(diào)用方法名的技巧,較為詳細(xì)的講述了相關(guān)的命名空間的調(diào)用及語(yǔ)句執(zhí)行順序,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12Asp.net XML文檔進(jìn)行添加刪改操作的實(shí)例代碼
Asp.net 對(duì)一下XML文檔進(jìn)行添加刪改的實(shí)例2009-12-12