javascript parseFloat无法确定输入是否为float

时间:2011-06-10 03:24:21

标签: php javascript

我是javascript,php和编程的新手,所以请耐心等待。

我正在尝试创建javascript函数来检查用户是否输入了浮点值。该事件是按键,因此它将检查每个角色。

如果第一个字符是浮点数,它会为其余输入设置浮点数,即使后面的字符已经是非数字字符。此外,如果第一个字符是非数字,即使有一些非数字字符,它也会说不浮动。在我看来,它只检查第一个字符。请帮忙......

index.php

<script type="text/javascript" src="javascript.js"> </script>

<form action="index.php" method="get">
 Integer 1: <input type="text" id="num1" name="num1" onkeypress="checkInput(this);" /> <br />
 Integer 2: <input type="text" id="num2" name="num2" onkeypress="checkInput(this);" /> <br />
 <input type="submit" value="Compute" />
</form>


javascript.js

function checkInput(obj) {
 if(!parseFloat(obj.value)) {
  alert("Not Float");
 } else {
  alert("Float");
 }
}

1 个答案:

答案 0 :(得分:3)

parseFloat用于从第一个字符开始从字符串中提取数字。

要检查字符串的整体是否代表数字,请将其转换为Number,然后检查结果是否为NaN(非数字):

if (isNaN(Number(obj.value)) {
   alert("Not Float");
} else {
   alert("Float");
}