为了获得HTML5 / JavaScript学习经验,我想编写一个基本的计算器。我需要知道的第一件事是,在仅支持数字字符的输入类型方面有哪些选项,并且(如果可能)允许包含诸如+-之类的运算符。最终结果将是使用户能够输入0-9以及{+, -, /, *, ... }范围内的字符。

是否有针对此类事物的本机定制内容,或者至少针对此类特性进行了微调?

最佳答案

这是使用eval和正则表达式的简单计算器:

HTML:

<input type="text" id="calc">
<button id="calculate">Calculate</button>


JavaScript:

var input = document.querySelector('#calc')
  , button = document.querySelector('#calculate');

// Only allow numbers and operators
input.addEventListener('keypress', function(e) {
  var key = String.fromCharCode(e.which);
  if (!/[0-9+\-/*]+/.test(key)) e.preventDefault();
});

button.addEventListener('click', function() {
  alert(input.value +' = '+ eval(input.value));
});


演示:http://jsbin.com/utujas/1/edit

有人说eval是邪恶的,但是对于一个简单的计算器来说是很好的,否则您将不得不诉诸以下内容:javascript calculator: plus sign alternatives

关于javascript - 用于数学输入的HTML5对象好吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17035884/

10-09 01:23
查看更多