24 个解决方案
#1
判断int.Parse() ;是否有异常,没有异常则返回true,否则不是数字
#2
using System;
using System.Text.RegularExpressions;
public 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]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}
using System.Text.RegularExpressions;
public 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]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}
#3
楼上很全啊,不过一般只用最后一个就可以了。否则,反而把不是数字的也判为数字了。呵呵
#4
lovefootball(蟑螂)
完全正確
完全正確
#5
一个是正则表达式就是二楼的
一个使用javascript在客户端就可以进行判断:
function isNumberString (InString,RefString)
{
if(InString.length==0) return (true);
for (Count=0; Count < InString.length; Count++)
{
TempChar= InString.substring (Count, Count+1);
if (RefString.indexOf (TempChar, 0)==-1)
return (false);
}
return (true);
}
function CheckValue(e)
{
var string1
if(isNumberString(document.Form1.elements[e].value,"1234567890.-")!=1)
{
alert("\请输入数值!");
return false;
}
return true
}
三、使用
try
{
}
catch(System.Exception exp)
{
}
一个使用javascript在客户端就可以进行判断:
function isNumberString (InString,RefString)
{
if(InString.length==0) return (true);
for (Count=0; Count < InString.length; Count++)
{
TempChar= InString.substring (Count, Count+1);
if (RefString.indexOf (TempChar, 0)==-1)
return (false);
}
return (true);
}
function CheckValue(e)
{
var string1
if(isNumberString(document.Form1.elements[e].value,"1234567890.-")!=1)
{
alert("\请输入数值!");
return false;
}
return true
}
三、使用
try
{
}
catch(System.Exception exp)
{
}
#6
正则表达式
#7
public bool ValidateStr()
{
string str;
char[] str1 = str.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
if (!char.IsNumber(str1[i])
{
return false;
}
}
return true;
}
{
string str;
char[] str1 = str.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
if (!char.IsNumber(str1[i])
{
return false;
}
}
return true;
}
#8
添加Microsoft Visual Basic.net Runtime的引用就可以用vb的函数了
Microsoft.VisualBasic.Information.IsNumeric(s);
Microsoft.VisualBasic.Information.IsNumeric(s);
#9
来晚了.正则表达试
#10
添加Microsoft Visual Basic.net Runtime的引用就可以用vb的函数了
USING Microsoft.VisualBasic;
Microsoft.VisualBasic.Information.IsNumeric(s);
USING Microsoft.VisualBasic;
Microsoft.VisualBasic.Information.IsNumeric(s);
#11
pupo(泡泡) 用的Vb.net的是可以的.返回的是一個布爾值.
這種問題通常用正則表達式比較好些.vb.net中
dim obj as object
obj=txt.text.trim
if isnumeric(obj)=false then
page.registerstartupscript("","<script>alert('不是數字')</script>")
end if
這種問題通常用正則表達式比較好些.vb.net中
dim obj as object
obj=txt.text.trim
if isnumeric(obj)=false then
page.registerstartupscript("","<script>alert('不是數字')</script>")
end if
#12
我们为什么不用微软提供的Microsoft.VisualBasic.IsNumeric(obj)函数呢?在C#中不能直接调用Microsoft.VisualBasic命名空间下的函数,但是可以考虑建一个VB.NET项目,然后在C#中引用它。方法如下:
1、建一个VB.NET项目,并添加一个名为Validator的验证函数类。
Namespace VBUtilitiesNamespace VBUtilities
Public Class ValidatorClass Validator
Public Shared Function IsNumeric()Function IsNumeric(ByVal obj As Object) As Boolean
Return Microsoft.VisualBasic.IsNumeric(obj)
End Function
End Class
End Namespace
2、在需要用到该函数的C#项目中引用该程序集。用Validator.IsNumeric(obj)的方法调用就可以了。
利用Microsoft.VisualBasic命名空间下的函数,我们还可以实现更多的验证功能,比如验证是否是日期类型(用IsDate)。这样要省掉不少麻烦去自己编写。还有别的方法吗?拿出来一起分享一些吧!
呵呵,这是引用了esshs的原话,原文在:http://dev.csdn.net/article/76/76216.shtm
大家都可以去看看!!
1、建一个VB.NET项目,并添加一个名为Validator的验证函数类。
Namespace VBUtilitiesNamespace VBUtilities
Public Class ValidatorClass Validator
Public Shared Function IsNumeric()Function IsNumeric(ByVal obj As Object) As Boolean
Return Microsoft.VisualBasic.IsNumeric(obj)
End Function
End Class
End Namespace
2、在需要用到该函数的C#项目中引用该程序集。用Validator.IsNumeric(obj)的方法调用就可以了。
利用Microsoft.VisualBasic命名空间下的函数,我们还可以实现更多的验证功能,比如验证是否是日期类型(用IsDate)。这样要省掉不少麻烦去自己编写。还有别的方法吗?拿出来一起分享一些吧!
呵呵,这是引用了esshs的原话,原文在:http://dev.csdn.net/article/76/76216.shtm
大家都可以去看看!!
#13
正则最方便
几句就搞顶
几句就搞顶
#14
mk
#15
C#中是可以直接用vb.net的函数的,只要添加对Microsoft Visual Basic.net Runtime的引用就可以,
在VB.Net中提供了很多成熟的、有用的函数,为什么不直接用,还自己去编写。
在VB.Net中提供了很多成熟的、有用的函数,为什么不直接用,还自己去编写。
#16
Visual Basic
很多函数非常方便
很多函数非常方便
#17
mark
#18
正则表达式
#19
System.Convert.ToDouble();
System.Convert.ToChar();
两个方法判断
System.Convert.ToChar();
两个方法判断
#20
二楼正解,用正则表达式
#21
isnumber函数
#22
也可以考虑判断ASCII码。
#23
haha,有时候用用违禁的算法也是很简单的啊.
bool isnumber(string bs1)
{
try
{
Double bi1=System.Convert.ToDouble(bs1);
}
catch
{
return false;
}
return true;
}
bool isnumber(string bs1)
{
try
{
Double bi1=System.Convert.ToDouble(bs1);
}
catch
{
return false;
}
return true;
}
#24
判断数字:
try
{
int testValue = int.Parse("你的字符串");
}
catch
{
MessageBox.Show("不是数字");
}
判断字符串长度:
int length = "42141".Length;
try
{
int testValue = int.Parse("你的字符串");
}
catch
{
MessageBox.Show("不是数字");
}
判断字符串长度:
int length = "42141".Length;
#1
判断int.Parse() ;是否有异常,没有异常则返回true,否则不是数字
#2
using System;
using System.Text.RegularExpressions;
public 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]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}
using System.Text.RegularExpressions;
public 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]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}
#3
楼上很全啊,不过一般只用最后一个就可以了。否则,反而把不是数字的也判为数字了。呵呵
#4
lovefootball(蟑螂)
完全正確
完全正確
#5
一个是正则表达式就是二楼的
一个使用javascript在客户端就可以进行判断:
function isNumberString (InString,RefString)
{
if(InString.length==0) return (true);
for (Count=0; Count < InString.length; Count++)
{
TempChar= InString.substring (Count, Count+1);
if (RefString.indexOf (TempChar, 0)==-1)
return (false);
}
return (true);
}
function CheckValue(e)
{
var string1
if(isNumberString(document.Form1.elements[e].value,"1234567890.-")!=1)
{
alert("\请输入数值!");
return false;
}
return true
}
三、使用
try
{
}
catch(System.Exception exp)
{
}
一个使用javascript在客户端就可以进行判断:
function isNumberString (InString,RefString)
{
if(InString.length==0) return (true);
for (Count=0; Count < InString.length; Count++)
{
TempChar= InString.substring (Count, Count+1);
if (RefString.indexOf (TempChar, 0)==-1)
return (false);
}
return (true);
}
function CheckValue(e)
{
var string1
if(isNumberString(document.Form1.elements[e].value,"1234567890.-")!=1)
{
alert("\请输入数值!");
return false;
}
return true
}
三、使用
try
{
}
catch(System.Exception exp)
{
}
#6
正则表达式
#7
public bool ValidateStr()
{
string str;
char[] str1 = str.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
if (!char.IsNumber(str1[i])
{
return false;
}
}
return true;
}
{
string str;
char[] str1 = str.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
if (!char.IsNumber(str1[i])
{
return false;
}
}
return true;
}
#8
添加Microsoft Visual Basic.net Runtime的引用就可以用vb的函数了
Microsoft.VisualBasic.Information.IsNumeric(s);
Microsoft.VisualBasic.Information.IsNumeric(s);
#9
来晚了.正则表达试
#10
添加Microsoft Visual Basic.net Runtime的引用就可以用vb的函数了
USING Microsoft.VisualBasic;
Microsoft.VisualBasic.Information.IsNumeric(s);
USING Microsoft.VisualBasic;
Microsoft.VisualBasic.Information.IsNumeric(s);
#11
pupo(泡泡) 用的Vb.net的是可以的.返回的是一個布爾值.
這種問題通常用正則表達式比較好些.vb.net中
dim obj as object
obj=txt.text.trim
if isnumeric(obj)=false then
page.registerstartupscript("","<script>alert('不是數字')</script>")
end if
這種問題通常用正則表達式比較好些.vb.net中
dim obj as object
obj=txt.text.trim
if isnumeric(obj)=false then
page.registerstartupscript("","<script>alert('不是數字')</script>")
end if
#12
我们为什么不用微软提供的Microsoft.VisualBasic.IsNumeric(obj)函数呢?在C#中不能直接调用Microsoft.VisualBasic命名空间下的函数,但是可以考虑建一个VB.NET项目,然后在C#中引用它。方法如下:
1、建一个VB.NET项目,并添加一个名为Validator的验证函数类。
Namespace VBUtilitiesNamespace VBUtilities
Public Class ValidatorClass Validator
Public Shared Function IsNumeric()Function IsNumeric(ByVal obj As Object) As Boolean
Return Microsoft.VisualBasic.IsNumeric(obj)
End Function
End Class
End Namespace
2、在需要用到该函数的C#项目中引用该程序集。用Validator.IsNumeric(obj)的方法调用就可以了。
利用Microsoft.VisualBasic命名空间下的函数,我们还可以实现更多的验证功能,比如验证是否是日期类型(用IsDate)。这样要省掉不少麻烦去自己编写。还有别的方法吗?拿出来一起分享一些吧!
呵呵,这是引用了esshs的原话,原文在:http://dev.csdn.net/article/76/76216.shtm
大家都可以去看看!!
1、建一个VB.NET项目,并添加一个名为Validator的验证函数类。
Namespace VBUtilitiesNamespace VBUtilities
Public Class ValidatorClass Validator
Public Shared Function IsNumeric()Function IsNumeric(ByVal obj As Object) As Boolean
Return Microsoft.VisualBasic.IsNumeric(obj)
End Function
End Class
End Namespace
2、在需要用到该函数的C#项目中引用该程序集。用Validator.IsNumeric(obj)的方法调用就可以了。
利用Microsoft.VisualBasic命名空间下的函数,我们还可以实现更多的验证功能,比如验证是否是日期类型(用IsDate)。这样要省掉不少麻烦去自己编写。还有别的方法吗?拿出来一起分享一些吧!
呵呵,这是引用了esshs的原话,原文在:http://dev.csdn.net/article/76/76216.shtm
大家都可以去看看!!
#13
正则最方便
几句就搞顶
几句就搞顶
#14
mk
#15
C#中是可以直接用vb.net的函数的,只要添加对Microsoft Visual Basic.net Runtime的引用就可以,
在VB.Net中提供了很多成熟的、有用的函数,为什么不直接用,还自己去编写。
在VB.Net中提供了很多成熟的、有用的函数,为什么不直接用,还自己去编写。
#16
Visual Basic
很多函数非常方便
很多函数非常方便
#17
mark
#18
正则表达式
#19
System.Convert.ToDouble();
System.Convert.ToChar();
两个方法判断
System.Convert.ToChar();
两个方法判断
#20
二楼正解,用正则表达式
#21
isnumber函数
#22
也可以考虑判断ASCII码。
#23
haha,有时候用用违禁的算法也是很简单的啊.
bool isnumber(string bs1)
{
try
{
Double bi1=System.Convert.ToDouble(bs1);
}
catch
{
return false;
}
return true;
}
bool isnumber(string bs1)
{
try
{
Double bi1=System.Convert.ToDouble(bs1);
}
catch
{
return false;
}
return true;
}
#24
判断数字:
try
{
int testValue = int.Parse("你的字符串");
}
catch
{
MessageBox.Show("不是数字");
}
判断字符串长度:
int length = "42141".Length;
try
{
int testValue = int.Parse("你的字符串");
}
catch
{
MessageBox.Show("不是数字");
}
判断字符串长度:
int length = "42141".Length;