如何从var值中识别一个数字?

时间:2016-02-25 06:10:50

标签: javascript asp.net client-side-validation

我通过以下方式收到var值:

var val=document.getElementById('ctl00_ContentPlaceHoldermain_TextBox1').value;

在我的代码中,我正在使用' typeof'来检查每个角色的类型。但总是只返回字符串。如何识别号码?

2 个答案:

答案 0 :(得分:2)

您可以使用parseIntparseFloat。如果parseInt(str)返回NaN,那么您的字符串不是数字。

您只能用于仅包含数字的字符串:parseInt('123')。如果你的字符串可能包含字母,那么你可能会遇到一些问题:

parseInt('123') // -> 123
parseInt('123asd') // '123asd' is not a number but parseInt returns 123

更简单的方法是使用jQuery的{​​{3}}函数或自行实现

您可以通过@ Rahat评论中的链接查看更多相关内容。

您也可以在isNumeric

看到

答案 1 :(得分:0)

我同意其他答案,但我认为parseIntparseFloat应该用于解析,因为它们是针对它的。 isNaN函数可以为您提供数字检查功能。

function isNumber(val) {
  if(val == "") {
    return false;
  }
  return !isNaN(val);
}

根据评论,如果你想从数组中选择数字,那么你可以简单地创建循环并在里面调用它。 e.g

var vals = ['dsds','2','','4'];
for (var i = 0; i<vals.length; i++) {
  if(isNumber(vals[i]) {
    // it's number
  }
  else {
    // it's not number;
  }
}