日期:2014-05-18  浏览次数:20569 次

如何判断输入的string是数字呢?
在网页上有一个textbox,对应的类型是string,要求在这个编辑框里输入数字,我加了一个CustomValidator(当不是数字时就进行警告),请问如何在代码中判断输入的是数字呢?

------解决方案--------------------
convert.ToInt32(text1.text.trim)如果不能转换就会出现异常 用try捕捉出现异常就表明他不是数字
------解决方案--------------------
在textbox标记里添加
onkeypress= "if (!((event.keyCode > = 48 && event.keyCode <=57) || event.keyCode == 46 )) event.returnValue = false; "
------解决方案--------------------
用正则吧,
\d+\如果匹配的==字符串本省,就都是数字,如果不相等,就不全是数字,
------解决方案--------------------
static void Main(string[] args)
{
Regex regex=new Regex(@ "\d+ ");
string myString = "ddafs12121 ";
Match match = null;
match = regex.Match(myString);
if (myString.Equals(match.Groups[0].Value.ToString()))
Console.WriteLine( "True ");
else
Console.WriteLine( "False ");
}
------解决方案--------------------
Regex r = new Regex(@ "^\d+$ ");
Label1.Text = r.Match(TextBox1.Text).Success ? "right " : "wrong ";

------解决方案--------------------
引入Micirsoft.ViusalBasic内有 IsNumeric方法
------解决方案--------------------
/////////////////////////////////
//名称:检查文本框内容是否数字
//版本:1.0
//日期:2006-05-05
//作者:roc
/////////////////////////////////

function IsNumeric(InputObject,ObjectTitle)
{
//var temp = parseInt(InputObject.value)
if(!isNaN(InputObject.value))
{
return true;
}
else
{
alert(ObjectTitle+ "只能是数字! ")
InputObject.focus();
return false;
}
}

在textbox的标签中加上失去焦点的事件,如:onblur= "IsNumeric(this, '编号 ') "


------解决方案--------------------
/^(\d*|\-?[1-9]+[0-9]*|\-?[1-9]+[0-9]*\.\d+|\-?[0-9]*\.\d+)$/
整数或者浮点数
------解决方案--------------------
int rtnInt;
try
{
rtnInt = Int.Parse(yourStr);
}
catch
{
rtnInt = 1;
}
------解决方案--------------------
function IsInt(objStr,sign,includezero)
{
var reg;
var bolzero;

if(Trim(objStr)== " ")
{
return false;
}
else
{
objStr=objStr.toString();
}

if((sign==null)||(Trim(sign)== " "))
{
sign= "+- ";
}

if((includezero==null)||(Trim(includezero)== " ")||Trim(includezero) == "n ") //不包含0
{
bolzero=false;
}
else
{
includezero=includezero.toString();
if(includezero== "y ")
{
bolzero=true;
}
else
{
alert( "检查是否包含0参数,只可为(空、y, n) ");
}
}

switch(sign)
{
case "+- ":
//整数
reg=/(^-?|^\+?)\d+$/;
break;