2011-06-10 85 views
1

我是新來的JavaScript和PHP和編程,所以請耐心等待我。javascript parseFloat無法確定輸入是否爲浮點數

我想創建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"); 
} 
} 

回答

3

parseFloat意味着從字符串中提取一個數字,從第一個字符開始。

要檢查字符串的整體代表一個數字,將其轉換爲Number,並檢查結果是NaN(非數字):

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

我不知道。感謝澄清。 – 2011-06-10 03:31:17