public bool IsSafe (string str, int prama)
{
if (prama==1)
{
if (Regex.IsMatch(str,"[0-9]"))
{
return true;
}
else
{
return false;
}
}
else
{
if (str.IndexOf("and")>0 || str.IndexOf("or")>0 || str.IndexOf("'")>0)
{
return false;
}
else
{
return true;
}

}
}

解决方案 »

  1.   

    if (Regex.IsMatch(str,"[0-9]"))  是否是数字 if (str.IndexOf("and")>0 || str.IndexOf("or")>0 || str.IndexOf("'")>0)是否 存在 and 或者 or 或者 '
      

  2.   

    这是在防止SQL注入写的方法吧?
      

  3.   


    public bool IsSafe (string str, int prama)
    {
    if (prama==1)
    {
    if (Regex.IsMatch(str,"[0-9]")) //正则验证str是否全是由数字组成
    {
    return true;  //全是由数字组成
    }
    else
    {
    return false;//不全是由数字组成
    }
    }
    else
    {
     //判断str字符串内是否含有 and   or  ' 中的任意一个
    if (str.IndexOf("and")>0 || str.IndexOf("or")>0 || str.IndexOf("'")>0)
    {
    return false;  //含有
    }
    else
    {
    return true; //一个都没有
    }}
    }