您当前的位置: 首页 >  .net

[Asp.Net]判断输入文字是否是数字

发布时间:2009-04-28 09:01:00 ,浏览量:0

asp.net判断输入文字是否是数字 方案一: /** /// 名称:IsNumberic /// 功能:判断输入的是否是数字 /// 参数:string oText:源文本 /// 返回值: bool true:是 false:否 /// public bool IsNumberic(string oText) { try { int var1=Convert.ToInt32 (oText); return true; } catch { return false; } }

     try catch方法      例:      try      {        Convert.ToInt32("123"):        Console.Write("是数字");      }      catch(Exception ex)      {        Console.Write("非数字");      }      注:如果有很多字符串要求判断,此方法需要大量的try catch 以及finally来处理后续的程序.不建议使用此方法。

改进一下: 因为可以转int 可以转Decimal     public bool IsNumberic(string oText)     {         try         {             Decimal Number = Convert.ToDecimal (oText);             return true;         }         catch         {             return false;         }     }

方案二: //如果是纯数字还可以采用ASCII码进行判断 ///   /// 判断是否是数字   ///   ///字符串   ///bool   public bool IsNumeric(string str)   {       if (str == null || str.Length == 0)           return false;       System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();       byte[] bytestr = ascii.GetBytes(str);       foreach (byte c in bytestr)       {           if (c < 48 || c > 57)           {               return false;           }       }       return true;   }  方案三:      正则表达式方法      例:      //引用正则表达式类      using   System.Text.RegularExpressions;       Regex   reg=new   Regex("^[0-9]+$");       Match   ma=reg.Match(text);       if(ma.Success)       {        //是数字       }       else       {       //不是数字       }      注:此方法快捷,但不太容易掌握,尤其是正则表达式公式,如果有兴趣的朋友可以好好研究,这东西很好用的,建议使用。 方案四:      Double.TryParse方法      例:      bool isNum=System.Double.TryParse("所要判断的字符串"  ,System.Globalization.NumberStyles.Integer,null,out );      注:此方法快捷,方便,很容易被掌握,但是参数很多,有兴趣的朋友可以研究一下,建议使用。     参数不好用     没有使用过 方法五: 新建一个类 using System; using System.Collections.Generic; using System.Text.RegularExpressions; namespace LBC.Number {     ///     /// 数字判断的类     ///     public class NumberClass     {         ///         /// 判断是否是数字         ///         ///要判断的字符串         ///         public static bool IsNumber(String strNumber)         {             Regex objNotNumberPattern = new Regex("[^0-9.-]");             Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");             Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");             String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+___FCKpd___0quot;;             String strValidIntegerPattern = "^([-]|[0-9])[0-9]*___FCKpd___0quot;;             Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");             return !objNotNumberPattern.IsMatch(strNumber) &&             !objTwoDotPattern.IsMatch(strNumber) &&             !objTwoMinusPattern.IsMatch(strNumber) &&             objNumberPattern.IsMatch(strNumber);         }         ///         /// 判断是否是int类型         ///         ///要判断的字符串         ///         public static bool IsInt(string Value)         {             return Regex.IsMatch(Value, @"^[+-]?/d*___FCKpd___0quot;);         }         ///         /// 判断是否是数字         ///         ///要判断的字符串         ///         public static bool IsNumeric(string Value)         {             return Regex.IsMatch(Value, @"^[+-]?/d*[.]?/d*___FCKpd___0quot;);         }     } }

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    106158博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.2142s