簡體   English   中英

如何在 JavaScript 中的“+”號之前選擇一個整數

[英]How do I select an integer before a "+" sign in JavaScript

我目前正在研究一個計算器,由於某些原因(長篇故事),我不想使用 eval 函數。

所以我想做的是

var exp = document.form.textview.value; 
//everything on the calc is displayed in a form
var a = intiger up until the + sign

現在我不知道該怎么做,我試着做

var a = exp.charAt(0)

但這只是給了我第一個字符,如果數字是 2 位數字怎么辦。

感謝所有幫助並感謝您閱讀祝您有美好的一天,larwa

因此,據我所知,您正在嘗試查找 + 號之前的所有字符 在 12324+ 的示例中,您想返回 12324?

因此,我會在字符串上使用“split”方法。


var value = "12324+";
var number = value.split('+')[0];

這會將字符串拆分為一個數組並將第一個索引(數字)返回給 number 變量

識別輸入字符串開頭的整數:

JS 的parseInt函數幾乎parseInt您的需求,例如使用您的 var 名稱:

var a = parseInt(exp);

有關工作示例,請參見此處:

 $(function(){ $('#inp').keyup(function(ev){ const val = $(ev.target).val(); // this is the important part: const int = parseInt(val); console.log(int); }) });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input id="inp" /> <h3>value:</h3> <div id="out"> </div>

識別輸入字符串中的所有整數

要獲取輸入字符串中所有出現的整數,您可以使用

var a = exp.match(/-?\d+/g).map(s => parseInt(s))

它將返回一個包含所有單獨整數的數組。 工作示例:

 $(function(){ $('#inp').keyup(function(ev){ const val = $(ev.target).val(); // this is the important part: const matches = val.match(/-?\\d+/g).map(s => parseInt(s)); console.log(matches); }) });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input id="inp" /> <h3>value:</h3> <div id="out"> </div>

暫無
暫無

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

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