簡體   English   中英

如何在JavaScript中修復Number.isInteger()函數

[英]How to fix Number.isInteger() function in JavaScript

當我按下按鈕時,它會從textarea HTML代碼中檢索值

<textarea rows="10" cols="17" id="list_card" placeholder="Insert Card Numbers"></textarea>
<input  name="infoDominio" type="submit"  class="btn btn-primary btn-block btn-sm" value="Add Card" onclick="add_card()">

JavaScript代碼

var res = myVar[0];
var ress = 4567891;
var val1 = Number.isInteger(res);
var val2 = Number.isInteger(ress);
document.write(myVar[0]+" "+val1+" "+val2+" "+res);

其中myVar[0] = 4567891; myVar[0] myVar[0] = 4567891; myVar[0]值來自textarea。 但是我無法獲得正確的輸出。 我認為val1應該是正確的。 輸出看起來像這樣。 您能否建議我如何獲取val1 = true。

4567891 false true 4567891

textarea將產生一個string而不是integer

您需要將其解析integer

var res = parseInt(myVar[0]);

附帶說明:用戶可以在您的文本區域中輸入非整數值。 也許您正在尋找input type="number"/>

我認為這種方式對您有用

 function add_card(){ myVar = document.getElementById("list_card").value; var res = Number(myVar); var ress = 4567891; var val1 = Number.isInteger(res); var val2 = Number.isInteger(ress); document.write(myVar+" "+val1+" "+val2+" "+res); } 
 <textarea rows="10" cols="17" id="list_card" placeholder="Insert Card Numbers"></textarea> <input name="infoDominio" type="submit" class="btn btn-primary btn-block btn-sm" value="Add Card" onclick="add_card()"> 

只需將val1分配更改為此

var val1 = Number.isInteger(parseInt(res));

使用此正則表達式

  • / ^->字符串開始
  • \\ d +->一個或多個數字(\\ d)
  • $ /->字符串結尾

 function add_card(){ var res = document.getElementById('list_card').value; var ress = 4567891; var val1 = /^\\d+$/.test(res); var val2 = /^\\d+$/.test(ress); document.write(res+" "+val1+" "+val2+" "+ress); } 
 <textarea rows="10" cols="17" id="list_card" placeholder="Insert Card Numbers"></textarea> <input name="infoDominio" type="submit" class="btn btn-primary btn-block btn-sm" value="Add Card" onclick="add_card()"> 

暫無
暫無

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

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