![](/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.