zoukankan      html  css  js  c++  java
  • 对字符串的综合处理的几个方法

                           这个几个方法就是对输入的字符串进行处理

    第一个是防止sql注入式攻击的

                public static string ConvertSql(string str)
                {
                    str = str.Trim();
                    str = str.Replace("'", "''");
                    str = str.Replace(";--", "");
                    str = str.Replace("=", "");
                    str = str.Replace(" or ", "");
                    str = str.Replace(" and ", "");

                    return str;
                }

    第二个是计算占用的空间大小的

                /// <summary>
                /// 格式化占用空间大小的输出
                /// </summary>
                /// <param name="size">大小</param>
                /// <returns>返回 String</returns>
                public static string FormatNUM(long size)
                {
                    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;
                }

    另外给上格式说明:

    格式化数值:有时,我们可能需要将数值以一定的格式来呈现,就需要对数值进行格式化。我们使用格式字符串指定格式。格式字符串采用以下形式:Axx,其中 A 为格式说明符,指定格式化类型,xx 为精度说明符,控制格式化输出的有效位数或小数位数。

    格式说明符
    说明
    示例
    输出
    C
    货币
    2.5.ToString("C")
    ¥2.50
    D
    十进制数
    25.ToString("D5")
    00025
    E
    科学型
    25000.ToString("E")
    2.500000E+005
    F
    固定点
    25.ToString("F2")
    25.00
    G
    常规
    2.5.ToString("G")
    2.5
    N
    数字
    2500000.ToString("N")
    2,500,000.00
    X
    十六进制
    255.ToString("X")
    FF
     

    第三个是判断是否合格的电邮和地址url的

    public static bool IsValidEmail(string email)
                {
                    return Regex.IsMatch(email, @"^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$");
                }

    public static bool IsValidURL(string url)
                {
                    return Regex.IsMatch(url, @"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*[^\.\,\)\(\s]$");
                }

    第四个是判断是否是int型,是否是数字,

    /// <summary>
                /// 判断字符串是否为Int类型的
                /// </summary>
                /// <param name="val"></param>
                /// <returns></returns>
                public static bool IsValidInt(string val)
                {
                    return Regex.IsMatch(val, @"^[1-9]\d*\.?[0]*$");
                }

     /// <summary>
                /// 检测字符串是否全为正整数
                /// </summary>
                /// <param name="str"></param>
                /// <returns></returns>
                public static bool IsNum(string str)
                {
                    bool blResult = true;//默认状态下是数字

                    if (str == "")
                        blResult = false;
                    else
                    {
                        foreach (char Char in str)
                        {
                            if (!char.IsNumber(Char))
                            {
                                blResult = false;
                                break;
                            }
                        }
                        if (blResult)
                        {
                            if (int.Parse(str) == 0)
                                blResult = false;
                        }
                    }
                    return blResult;
                }

     /// <summary>
                /// 检测字符串是否全为数字型
                /// </summary>
                /// <param name="str"></param>
                /// <returns></returns>
                public static bool IsDouble(string str)
                {
                    bool blResult = true;//默认状态下是数字

                    if (str == "")
                        blResult = false;
                    else
                    {
                        foreach (char Char in str)
                        {
                            if (!char.IsNumber(Char) && Char.ToString() != "-")
                            {
                                blResult = false;
                                break;
                            }
                        }
                    }
                    return blResult;
                }

    还有其他的几个

     /// <summary>
                /// 返回字符串的真实长度,一个汉字字符相当于两个单位长度
                /// </summary>
                /// <param name="str">指定字符串</param>
                /// <returns></returns>
                public static int Len(string str)
                {
                    int intResult = 0;

                    foreach (char Char in str)
                    {
                        if ((int)Char > 127)
                            intResult += 2;
                        else
                            intResult++;
                    }
                    return intResult;
                }

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    Mybatis框架学习_6_mapper.xml 文件中的输入参数详解 (paraterType)
    Mybatis框架学习_5_自定义类型转换器
    Mybatis框架学习_4_属性文件、全局参数、别名
    Mybatis框架学习_3_基于约定或动态代理实现增删改查
    Mybatis框架学习_2_增删改查的简单实现
    Mybatis框架学习_1_简介以及入门示例
    Linux 系统下启动命名的书写过程
    spring-boot-Web学习2-模板引擎 Thymeleaf
    spring-boot-Web学习1-简介
    MacBook无法开机问题
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319505.html
Copyright © 2011-2022 走看看