我有一个javascript函数,在更改HTML表单字段时触发,只是在输入的数字上添加一个小数(.0)并检查输入的值是否在1到100之间。它工作正常,但现在我需要改变我的功能,也检查输入的十进制数是.0还是.5,如果不匹配则拒绝。这是我的代码:
function wingsetDecimal(input) {
input.value = parseFloat(input.value).toFixed(1);
if (input.value <1 || input.value >100) {
alert("Wing Length value is above or below limits");
// accept the value and do not reset field
// input.value ='';
}
}
我不知道如何处理此问题以检查小数部分是.0还是.5。换句话说,如果输入的值是例如10.4,则应该重置字段input.value =''
,如果是10.0或10.5,则接受该字段。我试过string.indexOf(".")==-1;
没有成功。
答案 0 :(得分:2)
只是我的两分钱,但也许这样做可以解决问题:
if ((input.value % 1) * 10 === 0 || (input.value % 1) * 10 === 5) {
// logic comes 'ere
}
或者正如Derek在评论中指出的那样,它的工作方式更短:
if(!(input.value % 0.5)) {
// todo
}}
答案 1 :(得分:2)
if (!(input.value * 2 % 1)) {
//there ya go
}