好象至少有两种方法
1:int i = int.Parse(str)
2:正则表达式
请问这两种方法惯用哪种?有何区别?

解决方案 »

  1.   

    对于你的第一种,直接 int i = int.Parse(str) 是不行的
    需要放try..catch块里
      

  2.   

    /// 是否是数字型   
            /// </SUMMARY>   
            /// <PARAM name="value"></PARAM>   
            /// <RETURNS></RETURNS>   
            public static bool IsNumeric(string value)   
            {   
                return Regex.IsMatch(value, @"^[+-]?d*[.]?d*$");   
            }   
      
            /// <SUMMARY>   
            /// 是否是整数   
            /// </SUMMARY>   
            /// <PARAM name="value"></PARAM>   
            /// <RETURNS></RETURNS>   
            public static bool IsInt(string value)   
            {   
                return Regex.IsMatch(value, @"^[+-]?d*$");   
            }   
      
            /// <SUMMARY>   
            /// 是否是无符号数字   
            /// </SUMMARY>   
            /// <PARAM name="value"></PARAM>   
            /// <RETURNS></RETURNS>   
            public static bool IsUnsign(string value)   
            {   
                return Regex.IsMatch(value, @"^d*[.]?d*$");   
            }   
      

  3.   

    if(isNaN(form1.TextBox6.value)==true){ 
                            alert("必須為数字");
                            return false;}
      

  4.   

    <script language="javascript">
    <!--
          function ck()
          {
    var par = /^\+?[1-9][0-9]*$/;
    if(!par.test(document.Form1.strNum.value))
    {
    alert("输入只能为数字!");
    return false;
    }
    return true;
          }
    // -->
    </script>
    js比在cs里验证要好,只需客户端验证就可以了.