class="brush:csharp;gutter:true;">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 }