StrHelper

时间:2021-07-06 08:48:20
public class StrHelper
{
private static string passWord; //加密字符串 /// <summary>
/// 判断输入是否数字
/// </summary>
/// <param name="num">要判断的字符串</param>
/// <returns></returns>
static public bool VldInt(string num)
{
#region
int ResultNum;
return int.TryParse(num, out ResultNum);
#endregion
} /// <summary>
/// 返回文本编辑器替换后的字符串
/// </summary>
/// <param name="str">要替换的字符串</param>
/// <returns></returns>
static public string GetHtmlEditReplace(string str)
{
#region
return str.Replace("'", "’").Replace(" ", " ").Replace(",", ",").Replace("%", "%").
Replace("script", "").Replace(".js", "");
#endregion
} /// <summary>
/// 截取字符串函数
/// </summary>
/// <param name="str">所要截取的字符串</param>
/// <param name="num">截取字符串的长度</param>
/// <returns></returns>
static public string GetSubString(string str, int num)
{
#region
return (str.Length > num) ? str.Substring(0, num) + "..." : str;
#endregion
} /// <summary>
/// 截取字符串优化版
/// </summary>
/// <param name="stringToSub">所要截取的字符串</param>
/// <param name="length">截取字符串的长度</param>
/// <returns></returns>
public static string GetFirstString(string stringToSub, int length)
{
#region
var regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled);
var stringChar = stringToSub.ToCharArray();
var sb = new StringBuilder();
var nLength = 0;
var isCut = false;
for (var i = 0; i < stringChar.Length; i++)
{
if (regex.IsMatch((stringChar[i]).ToString()))
{
sb.Append(stringChar[i]);
nLength += 2;
}
else
{
sb.Append(stringChar[i]);
nLength = nLength + 1;
} if (nLength > length)
{
isCut = true;
break;
}
}
if (isCut)
return sb.ToString() + "..";
else
return sb.ToString();
#endregion
} /// <summary>
/// 过滤输入信息
/// </summary>
/// <param name="text">内容</param>
/// <param name="maxLength">最大长度</param>
/// <returns></returns>
public static string InputText(string text, int maxLength)
{
#region
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;
#endregion
} /// <summary>
/// 生成随机数
/// </summary>
/// <returns></returns>
private string GenerateCheckCode()
{
#region
int number;
char code;
string checkCode = String.Empty; System.Random random = new Random(); for (int i = 0; i < 5; i++)
{
number = random.Next(); if (number % 2 == 0)
code = (char)('0' + (char)(number % 10));
else
code = (char)('A' + (char)(number % 26)); checkCode += code.ToString();
} HttpContext.Current.Response.Cookies.Add(new HttpCookie("CheckCode", checkCode)); return checkCode;
#endregion
} /// <summary>
/// 生成验证码图片
/// </summary>
public void CreateCheckCodeImage()
{
#region
string checkCode = GenerateCheckCode();
if (checkCode == null || checkCode.Trim() == String.Empty)
return; System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
Graphics g = Graphics.FromImage(image); try
{
//生成随机生成器
Random random = new Random(); //清空图片背景色
g.Clear(Color.White); //画图片的背景噪音线
for (int i = 0; i < 25; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
} var font = new Font("Arial", 12, (FontStyle.Bold | FontStyle.Italic));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(checkCode, font, brush, 2, 2); //画图片的前景噪音点
for (int i = 0; i < 150; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next()));
} //画图片的边框线
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); var ms = new MemoryStream();
image.Save(ms, ImageFormat.Gif);
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType = "image/Gif";
HttpContext.Current.Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
#endregion
} #region 生成指定位数随机数
private static char[] constant =
{
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
}; public static string GenerateRandom(int Length)
{
var newRandom = new StringBuilder(62);
var rd = new Random();
for (int i = 0; i < Length; i++)
{
newRandom.Append(constant[rd.Next(62)]);
}
return newRandom.ToString();
} public static string GetNumRandom(int Length)
{
var newRandom = new StringBuilder(10);
char[] NumStr={'0','1','2','3','4','5','6','7','8','9'};
var rd = new Random();
for (int i = 0; i < Length; i++)
{
newRandom.Append(constant[rd.Next(10)]);
}
return newRandom.ToString();
}
#endregion /// <summary>
/// 获取汉字第一个拼音
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
static public string getSpells(string input)
{
#region
int len = input.Length;
string reVal = "";
for (int i = 0; i < len; i++)
{
reVal += getSpell(input.Substring(i, 1));
}
return reVal;
#endregion
} static public string getSpell(string cn)
{
#region
byte[] arrCN = Encoding.Default.GetBytes(cn);
if (arrCN.Length > 1)
{
int area = (short)arrCN[0];
int pos = (short)arrCN[1];
int code = (area << 8) + pos;
int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };
for (int i = 0; i < 26; i++)
{
int max = 55290;
if (i != 25) max = areacode[i + 1];
if (areacode[i] <= code && code < max)
{
return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });
}
}
return "?";
}
else return cn;
#endregion
} /// <summary>
/// 半角转全角
/// </summary>
/// <param name="BJstr"></param>
/// <returns></returns>
static public string GetQuanJiao(string BJstr)
{
#region
char[] c = BJstr.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);
if (b.Length == 2)
{
if (b[1] == 0)
{
b[0] = (byte)(b[0] - 32);
b[1] = 255;
c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
} string strNew = new string(c);
return strNew; #endregion
} /// <summary>
/// 全角转半角
/// </summary>
/// <param name="QJstr"></param>
/// <returns></returns>
static public string GetBanJiao(string QJstr)
{
#region
char[] c = QJstr.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);
if (b.Length == 2)
{
if (b[1] == 255)
{
b[0] = (byte)(b[0] + 32);
b[1] = 0;
c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
}
string strNew = new string(c);
return strNew;
#endregion
} #region 加密的类型
/// <summary>
/// 加密的类型
/// </summary>
public enum PasswordType
{
SHA1,
MD5
}
#endregion /// <summary>
/// 字符串加密
/// </summary>
/// <param name="PasswordString">要加密的字符串</param>
/// <param name="PasswordFormat">要加密的类别</param>
/// <returns></returns>
static public string EncryptPassword(string PasswordString, PasswordType PasswordFormat)
{
#region
switch (PasswordFormat)
{
case PasswordType.SHA1:
{
passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString, "SHA1");
break;
}
case PasswordType.MD5:
{
passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString, "MD5").Substring(8, 16).ToLower();
break;
}
default:
{
passWord = string.Empty;
break;
}
}
return passWord;
#endregion
} /// <summary>
/// 字符串转换为 html
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string StringToHtml(string str)
{
#region
str = str.Replace("&", "&");
str = str.Replace(" ", " ");
str = str.Replace("'", "''");
str = str.Replace("\"", """);
str = str.Replace(" ", " ");
str = str.Replace("<", "<");
str = str.Replace(">", ">");
str = str.Replace("\r\n", "<br>"); return str;
#endregion
} /// <summary>
/// html转换成字符串
/// </summary>
/// <param name="strHtml"></param>
/// <returns></returns>
public static string HtmlToString(string strHtml)
{
#region
strHtml = strHtml.Replace("<br>", "\r\n");
strHtml = strHtml.Replace(@"<br />", "\r\n");
strHtml = strHtml.Replace(@"<br/>", "\r\n");
strHtml = strHtml.Replace(">", ">");
strHtml = strHtml.Replace("<", "<");
strHtml = strHtml.Replace(" ", " ");
strHtml = strHtml.Replace(""", "\""); strHtml = Regex.Replace(strHtml, @"<\/?[^>]+>", "", RegexOptions.IgnoreCase); return strHtml;
#endregion
} /// <summary>
/// 获得中文星期表示形式
/// </summary>
/// <returns></returns>
public static string GetChineseWeek(DateTime t)
{
#region
string week = ""; switch (t.DayOfWeek)
{
case DayOfWeek.Monday:
week = "一";
break;
case DayOfWeek.Tuesday:
week = "二";
break;
case DayOfWeek.Wednesday:
week = "三";
break;
case DayOfWeek.Thursday:
week = "四";
break;
case DayOfWeek.Friday:
week = "五";
break;
case DayOfWeek.Saturday:
week = "六";
break;
case DayOfWeek.Sunday:
week = "日";
break;
} return "星期" + week;
#endregion
} /// <summary>
/// 生成日期随机码
/// </summary>
/// <returns></returns>
public static string GetRamCode()
{
#region
return DateTime.Now.ToString("yyyyMMddHHmmssff");
#endregion
} /// <summary>
/// 生成指定长度的字符串,即生成strLong个str字符串
/// </summary>
/// <param name="strLong">生成的长度</param>
/// <param name="str">以str生成字符串</param>
/// <returns></returns>
public static string StringOfChar(int strLong, string str)
{
#region
string ReturnStr = string.Empty;
for (int i = 0; i < strLong; i++)
{
ReturnStr += str;
}
return ReturnStr;
#endregion
} public static string FilterStr(string str)
{ return str.Replace("'", " ").Replace(".", "").Replace("\r\n", " ");
} /// <summary>
/// 生成条形码:如:bar_code("20070520122334", 20, 1, 1);
/// </summary>
/// <param name="str"></param>
/// <param name="ch">度度</param>
/// <param name="cw">线条宽度</param>
/// <param name="type_code">是否输出文字1为输出</param>
/// <returns></returns>
public static string BarCode(object str, int ch, int cw, int type_code)
{
#region
string strTmp = str.ToString();
string code = strTmp;
strTmp = strTmp.ToLower();
int height = ch;
int width = cw; strTmp = strTmp.Replace("0", "_|_|__||_||_|"); ;
strTmp = strTmp.Replace("1", "_||_|__|_|_||");
strTmp = strTmp.Replace("2", "_|_||__|_|_||");
strTmp = strTmp.Replace("3", "_||_||__|_|_|");
strTmp = strTmp.Replace("4", "_|_|__||_|_||");
strTmp = strTmp.Replace("5", "_||_|__||_|_|");
strTmp = strTmp.Replace("7", "_|_|__|_||_||");
strTmp = strTmp.Replace("6", "_|_||__||_|_|");
strTmp = strTmp.Replace("8", "_||_|__|_||_|");
strTmp = strTmp.Replace("9", "_|_||__|_||_|");
strTmp = strTmp.Replace("a", "_||_|_|__|_||");
strTmp = strTmp.Replace("b", "_|_||_|__|_||");
strTmp = strTmp.Replace("c", "_||_||_|__|_|");
strTmp = strTmp.Replace("d", "_|_|_||__|_||");
strTmp = strTmp.Replace("e", "_||_|_||__|_|");
strTmp = strTmp.Replace("f", "_|_||_||__|_|");
strTmp = strTmp.Replace("g", "_|_|_|__||_||");
strTmp = strTmp.Replace("h", "_||_|_|__||_|");
strTmp = strTmp.Replace("i", "_|_||_|__||_|");
strTmp = strTmp.Replace("j", "_|_|_||__||_|");
strTmp = strTmp.Replace("k", "_||_|_|_|__||");
strTmp = strTmp.Replace("l", "_|_||_|_|__||");
strTmp = strTmp.Replace("m", "_||_||_|_|__|");
strTmp = strTmp.Replace("n", "_|_|_||_|__||");
strTmp = strTmp.Replace("o", "_||_|_||_|__|");
strTmp = strTmp.Replace("p", "_|_||_||_|__|");
strTmp = strTmp.Replace("r", "_||_|_|_||__|");
strTmp = strTmp.Replace("q", "_|_|_|_||__||");
strTmp = strTmp.Replace("s", "_|_||_|_||__|");
strTmp = strTmp.Replace("t", "_|_|_||_||__|");
strTmp = strTmp.Replace("u", "_||__|_|_|_||");
strTmp = strTmp.Replace("v", "_|__||_|_|_||");
strTmp = strTmp.Replace("w", "_||__||_|_|_|");
strTmp = strTmp.Replace("x", "_|__|_||_|_||");
strTmp = strTmp.Replace("y", "_||__|_||_|_|");
strTmp = strTmp.Replace("z", "_|__||_||_|_|");
strTmp = strTmp.Replace("-", "_|__|_|_||_||");
strTmp = strTmp.Replace("*", "_|__|_||_||_|");
strTmp = strTmp.Replace("/", "_|__|__|_|__|");
strTmp = strTmp.Replace("%", "_|_|__|__|__|");
strTmp = strTmp.Replace("+", "_|__|_|__|__|");
strTmp = strTmp.Replace(".", "_||__|_|_||_|");
strTmp = strTmp.Replace("_", "<span style='height:" + height + ";width:" + width + ";background:#FFFFFF;'></span>");
strTmp = strTmp.Replace("|", "<span style='height:" + height + ";width:" + width + ";background:#000000;'></span>"); if (type_code == 1)
{
return strTmp + "<BR>" + code;
}
else
{
return strTmp;
}
#endregion
} public static string ClearHtml(string HtmlString)
{
string pn = "(</?.*?/?>)";
HtmlString = Regex.Replace(HtmlString, pn, "");
return HtmlString;
} public static string ClearFormat(string HtmlString)
{
HtmlString = HtmlString.Replace("\r\n", string.Empty).Replace(" ", string.Empty);
return HtmlString.Trim();
} #region 获取N行数据
/// <summary>
/// 取指定行数数据
/// </summary>
/// <param name="str">传入的待取字符串</param>
/// <param name="rowsnum">指定的行数</param>
/// <param name="strnum">每行的英文字符数或字节数</param>
/// <returns></returns>
public static string GetContent(string str, int rowsnum, int strnum)
{
//1计算内容块
string content = str.Replace("\r\n", "§");
string[] strContent = content.Split(Convert.ToChar("§")); int strCount = rowsnum * strnum;
int cutrow = rowsnum - strContent.Length;
cutrow = rowsnum > 10 ? rowsnum : 10;
int pStrCount;
string setOkStr = ""; //2对内容块进行
for (int i = 0; i < strContent.Length; i++)
{
pStrCount = System.Text.Encoding.Default.GetBytes(strContent[i]).Length;
if (pStrCount < strCount)
{
setOkStr += strContent[i] + "<br>";
rowsnum -= Convert.ToInt32(Math.Ceiling((double)pStrCount / (double)strnum));
strCount = rowsnum * strnum;
}
else
{
if (rowsnum > 0)
{
setOkStr += CutStr(strContent[i], rowsnum * strnum, cutrow);
}
else
{
//减去rowsnum是为了避免有些行长度为90,有的为89的现像
setOkStr = setOkStr.Substring(0, setOkStr.Length - cutrow / 2) + "...";
}
break;
}
} setOkStr = setOkStr.Replace(" ", " "); //软(半角)空格转硬(全角)空格
return setOkStr; } //字符串截取函数
public static string CutStr(string str, int length, int rowsnum)
{
if (System.Text.Encoding.Default.GetBytes(str).Length < length)
return str; length = length - rowsnum;
int i = 0, j = 0;
foreach (char chr in str)
{
if ((int)chr > 127)
i += 2;
else
i++;
if (i > length)
{
str = str.Substring(0, j) + "...";
break;
}
j++;
}
return str; }
#endregion #region 得到整型
public static int ConvertToInt(string Str)
{
return Str.Trim() == string.Empty ? 0 : int.Parse(Str);
} public static int GetInt(object o)
{
#region
if (o == DBNull.Value || o == null)
return 0;
else
return Convert.ToInt32(o);
#endregion
}
#endregion /// <summary>
/// 转化成时间类型
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static object ConvertDate(object o)
{
DateTime dt;
if(DateTime.TryParse(o.ToString(),out dt))
return dt;
else
return DBNull.Value;
} #region 闭合HTML代码
public static string CloseHTML(string str)
{
string[] HtmlTag = new string[] { "p", "div", "span", "table", "ul", "font", "b", "u", "i", "a", "h1", "h2", "h3", "h4", "h5", "h6" }; for (int i = 0; i < HtmlTag.Length; i++)
{
int OpenNum = 0, CloseNum = 0;
Regex re = new Regex("<" + HtmlTag + "[^>]*" + ">", RegexOptions.IgnoreCase);
MatchCollection m = re.Matches(str);
OpenNum = m.Count;
re = new Regex("</" + HtmlTag + ">", RegexOptions.IgnoreCase);
m = re.Matches(str);
CloseNum = m.Count; for (int j = 0; j < OpenNum - CloseNum; j++)
{
str += "</" + HtmlTag + ">";
}
} return str;
}
#endregion /// <summary>
/// 得到192.248.23.*的IP
/// </summary>
/// <param name="Str">IP地址</param>
/// <returns></returns>
public static string GetSortIp(string Str)
{
int x = Str.LastIndexOf('.')-1;
return Str.Substring(0, x) + "*.*";
} /// <summary>
/// 获取年月
/// </summary>
/// <returns></returns>
public static string GetYearMonth()
{
return DateTime.Now.ToString("yyyyMM") ;
} #region 获取远程页面内容
public static string GetHttpData(string Url)
{
//string sException = null;
string sRslt = null;
WebResponse oWebRps = null;
WebRequest oWebRqst = WebRequest.Create(Url);
oWebRqst.Timeout = 50000;
try
{
oWebRps = oWebRqst.GetResponse();
}
catch (WebException e)
{
//sException = e.Message.ToString();
//Response.Write(sException);
}
catch (Exception e)
{
//sException = e.ToString();
//Response.Write(sException);
}
finally
{
if (oWebRps != null)
{
var oStreamRd = new StreamReader(oWebRps.GetResponseStream(), Encoding.GetEncoding("UTF-8"));//GB2312|UTF-8"
sRslt = oStreamRd.ReadToEnd();
oStreamRd.Close();
oWebRps.Close();
}
}
return sRslt;
} public string[] GetData(string Html)
{
String[] rS = new String[2];
string s = Html;
s = Regex.Replace(s, "\\s{3,}", "");
s = s.Replace("\r", "");
s = s.Replace("\n", "");
string Pat = "<td align=\"center\" class=\"24p\"><B>(.*)</B></td></tr><tr>.*(<table width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"10\">.*</table>)<table width=\"98%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">(.*)<td align=center class=l6h>";
Regex Re = new Regex(Pat);
Match Ma = Re.Match(s);
if (Ma.Success)
{
rS[0] = Ma.Groups[1].ToString();
rS[1] = Ma.Groups[2].ToString();
//pgStr = Ma.Groups[3].ToString();
}
return rS;
}
#endregion /// <summary>
/// 判断页面是否存在
/// </summary>
/// <param name="sURL"></param>
/// <returns></returns>
public static bool UrlExist(string sURL)
{
#region
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sURL);
//WebProxy proxy = new WebProxy("your proxy server", 8080);
//request.Proxy = proxy;
request.Method = "HEAD";
request.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
bool result = false;
switch (response.StatusCode)
{
case HttpStatusCode.OK:
result = true;
break;
case HttpStatusCode.Moved:
break;
case HttpStatusCode.NotFound:
break;
}
response.Close();
return result;
}
catch
{
return false;
}
#endregion
} #region 获取字串中的链接
/// <summary>
/// 获取字串中的链接
/// </summary>
/// <param name="HtmlCode"></param>
/// <returns></returns>
public static ArrayList GetPageUrl(string HtmlCode)
{
ArrayList my_list = new ArrayList();
string p = @"http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
Regex re = new Regex(p, RegexOptions.IgnoreCase);
MatchCollection mc = re.Matches(HtmlCode); for (int i = 0; i <= mc.Count - 1; i++)
{
string name = mc[i].ToString();
if (!my_list.Contains(name))//排除重复URL
{
my_list.Add(name);
}
}
return my_list;
}
#endregion /// <summary>
/// 将 Stream 转化成 string
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string ConvertStreamToString(Stream s)
{
#region
string strResult = "";
StreamReader sr = new StreamReader(s, Encoding.UTF8); Char[] read = new Char[256]; // Read 256 charcters at a time.
int count = sr.Read(read, 0, 256); while (count > 0)
{
// Dump the 256 characters on a string and display the string onto the console.
string str = new String(read, 0, count);
strResult += str;
count = sr.Read(read, 0, 256);
} // 释放资源
sr.Close(); return strResult;
#endregion
} /// <summary>
/// 对传递的参数字符串进行处理,防止注入式攻击
/// </summary>
/// <param name="str">传递的参数字符串</param>
/// <returns>String</returns>
public static string ConvertSql(string str)
{
#region
str = str.Trim();
str = str.Replace("'", "''");
str = str.Replace(";--", "");
str = str.Replace("=", "");
str = str.Replace(" or ", "");
str = str.Replace(" and ", ""); return str;
#endregion
} /// <summary>
/// 格式化占用空间大小的输出
/// </summary>
/// <param name="size">大小</param>
/// <returns>返回 String</returns>
public static string FormatNUM(long size)
{
#region
decimal NUM;
string strResult; if (size > 1073741824)
{
NUM = (Convert.ToDecimal(size) / Convert.ToDecimal(1073741824));
strResult = NUM.ToString("N") + " M";
}
else if (size > 1048576)
{
NUM = (Convert.ToDecimal(size) / Convert.ToDecimal(1048576));
strResult = NUM.ToString("N") + " M";
}
else if (size > 1024)
{
NUM = (Convert.ToDecimal(size) / Convert.ToDecimal(1024));
strResult = NUM.ToString("N") + " KB";
}
else
{
strResult = size + " 字节";
} return strResult;
#endregion
} /// <summary>
/// 获取数组元素的合并字符串
/// </summary>
/// <param name="stringArray"></param>
/// <returns></returns>
public static string GetArrayString(string[] stringArray)
{
#region
string totalString = null;
for (int i = 0; i < stringArray.Length; i++)
{
totalString = totalString + stringArray[i];
}
return totalString;
#endregion
} /// <summary>
/// 将指定字符串中的汉字转换为拼音首字母的缩写,其中非汉字保留为原字符
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public static string ConvertSpellFirst(string text)
{
#region var sb = new StringBuilder(text.Length);
foreach (char c in text)
{
var pinyin = c;
byte[] array = Encoding.Default.GetBytes(new[] { c }); if (array.Length == 2)
{
var i = array[0] * 0x100 + array[1]; #region 条件匹配
if (i < 0xB0A1) pinyin = c;
else
if (i < 0xB0C5) pinyin = 'a';
else
if (i < 0xB2C1) pinyin = 'b';
else
if (i < 0xB4EE) pinyin = 'c';
else
if (i < 0xB6EA) pinyin = 'd';
else
if (i < 0xB7A2) pinyin = 'e';
else
if (i < 0xB8C1) pinyin = 'f';
else
if (i < 0xB9FE) pinyin = 'g';
else
if (i < 0xBBF7) pinyin = 'h';
else
if (i < 0xBFA6) pinyin = 'g';
else
if (i < 0xC0AC) pinyin = 'k';
else
if (i < 0xC2E8) pinyin = 'l';
else
if (i < 0xC4C3) pinyin = 'm';
else
if (i < 0xC5B6) pinyin = 'n';
else
if (i < 0xC5BE) pinyin = 'o';
else
if (i < 0xC6DA) pinyin = 'p';
else
if (i < 0xC8BB) pinyin = 'q';
else
if (i < 0xC8F6) pinyin = 'r';
else
if (i < 0xCBFA) pinyin = 's';
else
if (i < 0xCDDA) pinyin = 't';
else
if (i < 0xCEF4) pinyin = 'w';
else
if (i < 0xD1B9) pinyin = 'x';
else
if (i < 0xD4D1) pinyin = 'y';
else
if (i < 0xD7FA) pinyin = 'z';
#endregion
} sb.Append(pinyin);
} return sb.ToString();
#endregion
} #region Request
/// <summary></summary>
/// <param name="filedName"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static int Request(string filedName, int defaultValue)
{
return Request(filedName, defaultValue, false);
} /// <summary>
/// 获取URL指定参数,如果参数不存在或者为空就返回默认值
/// </summary>
/// <param name="filedName">请求KEY</param>
/// <param name="defaultValue">默认值</param>
/// <param name="isDecrypt">是否需要解密</param>
/// <returns></returns>
public static int Request(string filedName, int defaultValue, bool isDecrypt)
{
string str = HttpContext.Current.Request[filedName];
if (str != null && str.Trim() != "")
{
if (isDecrypt)
{
str = new PblogDes().Decrypt(str);
}
return int.Parse(str);
} return defaultValue;
} /// <summary>
/// 获取URL指定参数,如果参数不存在或者为空就抛出错误信息
/// </summary>
/// <param name="filedName"></param>
/// <returns></returns>
public static int Request(string filedName)
{
return Request(filedName, false);
} /// <summary>
/// 获取URL指定参数,如果参数不存在或者为空就抛出错误信息
/// </summary>
/// <param name="filedName"></param>
/// <param name="isDecrypt">是否需要解密</param>
/// <returns></returns>
public static int Request(string filedName, bool isDecrypt)
{
int i = Request(filedName, -1, isDecrypt);
if (i == -1)
{
throw new Exception("找不到指定参数:" + filedName);
} return i;
}
#endregion
}

相关文章