有没有办法测试字符串,例如下面的字符串,看看它是否是实际数字值?
var theStr:String = '05';
我想区分上面的字符串值和这样的字符串:
var theStr2:String = 'asdfl';
谢谢!
答案 0 :(得分:13)
是使用isNaN
函数来测试String
是否有效Number
:
var n:Number=Number(theStr);
if (isNaN(n)){
trace("not a number");
} else {
trace("number="+n);
}
答案 1 :(得分:2)
您必须转为Number
才能获得NaN
。如果您使用int
,则可以将字母转换为0
。
答案 2 :(得分:0)
如果你只是想检查整数,你可以使用匹配函数,如下所示,数字的正则表达式更复杂,你可能会更好地遵循Patrick提供的转换方法。
if (s.match(/^\d+$/)){//do something}
当然,如果你还是需要施放它,那么使用isNaN非常有意义。我以为我会提供一个替代方案,以防你不打算施展它。
如果s只包含数字(没有空格,小数,字母等等),则此代码将返回true,并且要求至少有1位数。