如何判断输入的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;
case "+ ":
if(!bolzero) //不包括0的正整数
{
//正整数
reg=/^\+?[0-9]*[1-9][0-9]*$/;
}
else //包括0的正整数
{
//正整数+0 (非负整数)
//reg=/^\+?\d+$/;
reg=/^\+?[0-9]*[0-9][0-9]*$/;
}
break;
case "- ":
if(!bolzero) //不包括0负整数
{
//负整数
reg=/^-[0-9]*[1-9][0-9]*$/;
}
else //包括0的负整数
{
//负整数+0 (非正整数)
//reg=/^-\d+$/;
reg=/^-[0-9]*[0-9][0-9]*$/;
}
break;
default:
alert( "检查符号参数,只可为(空、+、-) ");
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
/*
IsFloat(string,string,int or string):
功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
includezero:检查范围是否包括0,y范围包括0,n范围不包括0,null范围不包括0
*/
function IsFloat(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 ")
{
bolzero=false;
}
else
{
includezero=includezero.toString();
if(includezero== "y ")
{
bolzero=true;
}
else
{
alert( "检查范围是否包括0,只可为(空、y, n) ");
}
}
switch(sign)
{
case "+- ":
//浮点数
reg=/^((-?|\+?)\d+)(\.\d+)?$/;
break;
case "+ ":
if(!bolzero)
{
//正浮点数
reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//正浮点数+0 (非负浮点数)
reg=/^\+?\d+(\.\d+)?$/;
}
break;
case "- ":
if(!bolzero)
{
//负浮点数
reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//负浮点数+0 (非正浮点数)
reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
}
break;
default:
alert( "检查符号参数,只可为(空、+、-) ");
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
/*
function CheckMoney(obj)
{
if (!IsFloat(obj.value, "+ ")){alert( "输入格式100!(Input format 100!) ") ;obj.value= ' '; return;} //IsFloat(obj.value, "+ "):不可以输入负数,IsFloat(obj.value):可以输入负数
if (obj.value.indexOf( '. ') == -1) return;
if (obj.value.length - obj.value.indexOf( '. ') > 3)
{obj.value = obj.value.substr(0,obj.value.indexOf( '. ') + 3);}
}