簡體   English   中英

即使滿足條件,這也不會返回“if”語句

[英]This will not return the "if" statement, even though terms are met

此代碼應檢測數字高於 1,000,000,000 和低於 9,999,999,999 的位置。 我嘗試在這兩個值之間輸入數字,但它仍然返回 else 語句。 這段代碼的問題在哪里?

 <html> <head> <title>Checking with RegExp</title> </head> <body> <p>Enter a 10 digit number between 1000000000 and 9999999999.</p> <textarea id="inputnumber"></textarea> <button type="button" id="submitnumber">Check</button> <script> function checknumber() { var tendigitnum = document.getElementById("inputnumber") if (tendigitnum >= 1000000000 && tendigitnum <= 9999999999) { alert("You entered the number" + tendigitnum + ".") } else { alert("The page will refresh. Please enter a valid number.") location.reload() } } document.getElementById("submitnumber").onclick = checknumber </script> </body> </html>

您正在將 HTML 元素與數字進行比較。 您想將一個數字與一個數字進行比較,方法是:

  1. 使用元素的.value屬性獲取字符串,以及

  2. 將該字符串解析為一個數字(根據您的用例,您有很多不同的方法來執行此操作;請參閱此答案以獲取它們的列表)

例如:

var tendigitnum = Number(document.getElementById("inputnumber").value);

現場示例:

 function checknumber() { var tendigitnum = Number(document.getElementById("inputnumber").value) if (tendigitnum >= 1000000000 && tendigitnum <= 9999999999) { alert("You entered the number" + tendigitnum + ".") } else { alert("The page will refresh. Please enter a valid number.") location.reload() } } document.getElementById("submitnumber").onclick = checknumber
 <p>Enter a 10 digit number between 1000000000 and 9999999999.</p> <textarea id="inputnumber"></textarea> <button type="button" id="submitnumber">Check</button>


在現代瀏覽器上,您可以使用數字輸入:

<input type="number" id="inputnumber">

並使用其valueAsNumber屬性而不是value ,因為valueAsNumber已經是一個數字。 您甚至可以將范圍驗證添加到輸入中。 有關MDN的更多信息。

您需要檢查元素中的值,在您的代碼中您正在檢查元素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM