您好我想知道如何为具有两个小数位的数字编写验证码,例如45.80
function submitform4()
{
var min=00.01;
var max = 100.00;
var num = parseInt(document.getElementById('valid').value);
console.log(num);
if (min > num || max < num) {
alert(num + ' is not between ' + min + ' and ' + max);
return false;
}
}
这是我从我的工作中复制的东西,并认为我可以改变它,但没有真正起作用。
答案 0 :(得分:1)
你可以这样做:
function submitForm(numberToEvaluate){
var min = 0.0;
var max = 100;
//Instead of being passed in
//This would be grabbed from DOM element
var num = numberToEvaluate;
console.log(num);
if (min > num || max < num) {
alert(num + ' is not between ' + min + ' and ' + max);
return false;
}
}
submitForm(-1);
submitForm(37);
答案 1 :(得分:1)
嗯,这就是我要做的,如果我理解正确的话。
这解决了一些问题:
00.01
。请改用0.01
parseFloat
值上使用input
。 parseInt
将舍入为整数true
function submitform4() {
var MIN = 0.01;
var MAX = 100.00;
var input = document.getElementById('AgeGrade');
var inputValue = parseFloat(input.value);
var is_valid = (MIN > inputValue || MAX < inputValue);
if (is_valid) {
input.value = inputValue.toFixed(2); // set to 2 decimal places
return true
} else {
alert(inputValue + ' is not between ' + MIN + ' and ' + MAX);
return false;
}
}
答案 2 :(得分:0)
我会尝试parseFloat():
function submitform4()
{
var min = parseFloat("00.01");
var max = parseFloat("100.00");
var num = parseFloat("200.20");
console.log(num);
if (min > num || max < num) {
alert(num + ' is not between ' + min + ' and ' + max);
console.log('false');
}
}
submitform4();
请参阅Feedle
否则你肯定有错误:
未捕获的SyntaxError:意外的数字
请参阅无法正常工作 Feedle
答案 3 :(得分:0)
代码看起来很好(几乎),取决于你打算如何使用我的功能。
如果您在提交之前使用该函数作为验证,例如if(submitform4())
,则需要在函数末尾添加return true;
以返回true,除非答案为false。