如果最后输入的数字后面有空格,程序就会中断。如果输入空格,如何阻止函数中断?我尝试了 $.trim 但不知道如何让它工作。还尝试了 if/else 语句
function calculate() {
var numInput = document.getElementById("qty").value;
var numArray = numInput.split(" ").map(function(t) {
return parseInt(t);
});
var minValue = Math.min.apply(null, numArray);
var maxValue = Math.max.apply(null, numArray);
var sumValue = numArray.reduce(function(previous, current) { return previous + current });
var productValue = numArray.reduce(function(previous, current) { return previous * current });
var meanValue = numArray.reduce(function(previous, current) { return previous + current / numArray.length });
document.getElementById("result").innerHTML = 'Min value is: ' + minValue + '<br>' + 'Max value is: '+ maxValue + '<br>' + 'Sum value is: ' + sumValue + '<br>' + 'Product value is: ' + productValue + '<br>' + 'Mean value is: ' + meanValue;
}
function clearAnswer(){
document.getElementById("result").innerHTML = '';
document.getElementById("qty").value = '';
}
<h1> Problem JavaScript</h1> Enter 5 numbers with spaces in between each:
<input type="text" id="qty">
<input type="button" id="go" value="Calculate" onclick="calculate()">
<button type="reset" id="reset" onclick="clearAnswer()">Clear</button>
<div id="result"></div>
最佳答案
I tried $.trim but couldn't figure out how to get that to work.
如果您使用jquery trim然后确保您首先包含 jquery 库。
改变
var numArray = numInput.split(" ").map(function(t) {
return parseInt(t);
});
到
var numArray = $.trim( numInput ).split(" ").map(function(t) {
return parseInt(t);
});
或者简单地
var numInput = $.trim( document.getElementById("qty").value );
首先使用$.trim()
trim numInput
编辑:
你真的不需要只使用jquery来使用trim函数,javascript本身有trim方法,您可以使用。
关于javascript - 如何验证用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34728483/