数据类型验证代码

这是验证是否是整数的函数,速度绝对第一。
/// <summary>
  /// 判断是否为整数。是返回true 否返回false。可以传入null。
  /// </summary>
  /// <param name="strVal">要判断的字符</param>
  /// <returns></returns>
  public static  bool IsInt(string strVal) 
  { 
   if (strVal == null || strVal.Length == 0)
    return false;
   //判断是否只有.、-、 -.
   if (strVal == "." || strVal == "-" || strVal == "-.")
    return false;

   //去掉第一个负号,中间是不可以有负号的
   if (strVal.Substring(0,1) == "-")
    strVal = strVal.Remove(0,1);

   foreach(char c in strVal)
   {
    if (c < '0' || c > '9')
     return false;
   }
   return true;
  }
这是判断是否是一个小数,当然整数也是可以通过的,如果你不想通过整数的话,修改一下就可以了

/// <summary>
  /// 判断是否是实数,是返回true 否返回false。可以传入null。
  /// </summary>
  /// <param name="strVal">要验证的字符串</param>
  /// <returns></returns>
  public static  bool IsNumeric(string strVal) 
  { 
   //System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex("-?([0]|([1-9]+\\d{0,}?))(.[\\d]+)?$"); 
   //return reg1.IsMatch(strVal); 
   //string tmp="";
   //判断是否为null 和空字符串
   if (strVal == null || strVal.Length == 0)
    return false;
   //判断是否只有.、-、 -.
   if (strVal == "." || strVal == "-" || strVal == "-.")
    return false;

   //记录是否有多个小数点
   bool isPoint = false;   //是否有小数点
    
   //去掉第一个负号,中间是不可以有负号的
   if (strVal.Substring(0,1) == "-")
    strVal = strVal.TrimStart('-');

   foreach(char c in strVal)
   {
    if (c =='.')
     if (isPoint)
      return false;
     else
      isPoint = true;
    
    if ((c < '0' || c > '9') && c != '.')
     return false;
   }
   return true;
  }

posted on 2005-10-10 11:43  冷月孤峰  阅读(217)  评论(0)    收藏  举报