首页 > 学院 > 开发设计 > 正文

StrHelper

2019-11-17 02:30:58
字体:
来源:转载
供稿:网友
StrHelper
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) });
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表