![](/img/trans.png)
[英]How do I return this function with a dollar sign before it. (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.