当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net字符串处理类代码

asp.net字符串处理类代码

2017年12月12日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下: using system; using system.collections; using system.collections.generic; u
复制代码 代码如下:

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>
/// 截取字符串并限制字符串长度,多于给定的长度+。。。
/// </summary>
/// <param name="str">待截取的字符串</param>
/// <param name="len">每行的长度,多于这个长度自动换行</param>
/// <param name="max">输出字符串最大的长度</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>
/// 截取字符串,不限制字符串长度
/// </summary>
/// <param name="str">待截取的字符串</param>
/// <param name="len">每行的长度,多于这个长度自动换行</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>
///这个方法确保用户的输入不是恶毒的
/// </summary>
/// <param name="text">输入字符串</param>
/// <param name="maxlength">最大长度</param>
/// <returns>转换后的字符串</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>
/// 字符串中大写字符转小写
/// </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();
// 加密后是一个字节类型的数组
byte[] s = md5.computehash(encoding.unicode.getbytes(cl1));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(x)则格式后的字符是大写字符
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;
}
}
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网