验证输入的是否数字的几种方法

方法一:

 

static bool IsNumeric(string str) 

   
if (str==null || str.Length==0
    
return false
   
foreach(char c in str) 
   

     
if (!Char.IsNumber(c)) 
     

       
return false
     }
 
   }
 
   
return true
}

 

    方法二:

private bool IsNumeric(string s)
{
    
char ch0 = '0';
    
char ch9 = '9';
    
for(int i=0; i < s.Length; i++)
    
{
        
if ((s[i] < ch0 || s[i] > ch9))
       
{
            
this.lblwarning.Text="此处应输入整数且非负!";
            
return false;
       }

     }

     
return true;
}

 

方法三:

static bool IsNumeric (string str)
{   
   System.Text.RegularExpressions.Regex reg1 
       
= new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$"); 
   
return reg1.IsMatch(str); 
}

 

方法四:(可扩展)

public static bool IsConvert(string Expression,Type DataType)
{
    
switch(DataType.Name)
    
{
       
case "Double":
              
try
              
{
                     Double.Parse(Expression);
                     
return true;
              }

              
catch
              
{
                     
return false;
              }

      
case "DateTime":
              
try
              
{
                     DateTime.Parse(Expression);
                     
return true;
              }

              
catch
              
{
                     
return false;
              }

       
default:
              
return true;
     }

}

正则表达的写法是:

static bool IsNumeric(string str) 
{   
   System.Text.RegularExpressions.Regex reg1 
       
= new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");   
   
return reg1.IsMatch(str); 
}


 

posted @ 2008-05-18 18:27  Magicam  阅读(299)  评论(0编辑  收藏  举报