正则表达式,0或者正整数。
比如0可以通过,01或者012不可以通过。
第一个写对的分都给他。

解决方案 »

  1.   

    /// <summary>
    /// 验证字符串是否是正整数。
    /// </summary>
    /// <param name="checkedStr">需验证的字符串。</param>
    /// <param name="includeZero">是否包括零。</param>
    /// <returns></returns>
    public static bool IsPositiveInteger(string checkedStr, bool includeZero)
    {
    if (includeZero)
    return Regex.IsMatch(checkedStr, @"^([1-9]\d*|0)$");
    else
    return Regex.IsMatch(checkedStr, @"^[1-9]\d*$");
    }
      

  2.   

                string str = "01";
                Regex reg = new Regex(@"^(0|[1-9]+)$");
                Response.Write(reg.Match(str).Success);
      

  3.   


    //改正下
                string str = "10";
                Regex reg = new Regex(@"^(0|[1-9]\d+)$");
                Response.Write(reg.Match(str).Success);
      

  4.   


    //悲剧了,最后改
                string str = "01";
                string str1 = "10";
                string str2 = "11";
                Regex reg = new Regex(@"^(0|[1-9]\d*)$");
                Response.Write(reg.Match(str).Success);
                Response.Write(reg.Match(str1).Success);
                Response.Write(reg.Match(str2).Success);
      

  5.   


    void Main()
    {
    var list=new List<string>{"0","01","012","12","120"};
    Regex reg=new Regex("^([1-9]\\d*|0)$");
    foreach(var str in list)
    {
     Console.WriteLine(string.Format("{0}\t验证结果:{1}",str,reg.IsMatch(str)));
    }
    /*
    0 验证结果:True
    01 验证结果:False
    012 验证结果:False
    12 验证结果:True
    120 验证结果:True */
    }