繁体   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