需要根据返回true或false,如果在文本字段中的值是一个具体的数字
-
26-09-2019 - |
题
我期待如果用户输入4到输入区域以返回true。
function validateAddition() {
if($("#validateAddition").val() == 4) {
return true;
} else {
return false;
}
}
<input value=""
class="validate[required,onlyNumber,length[0,1]funcCall[validateAddition]] text-input"
type="text" id="validateAddition" name="validateAddition" />
添加到这一点英语js文件:
"validateAddition":{
"nname":"validateAddition",
"alertText":"* Your math is off, try again."}
这应该是罚款,让我知道你在想什么是错的。
解决方案
http://www.w3schools.com/jsref/jsref_parseInt.asp
return (parseInt($('#validateAddition').val()) == 4)
编辑:MooGoo是正确的,我错了,据我的解释
。但是是利用+ val的想法是可能不是最好的。虽然上面将工作的方法,你需要一个更好的解决方案将是如下:
if(($('#validateAddition').val()-0) == 4)
我们希望-0,而不是+0原因很简单,因为如果它是一个字符串,并要执行任何附加操作柜面它,你将不再有原来的字符串。
其他提示
如果要允许其他字符,以及且仅当输入字段的文本包含4个返回true,你应该做这样的而不是:
if($("#validateAddition").val().indexOf('4') != -1) {
它将使SENCE到的值相比较,以一个字符串,由于值是一个字符串。这允许您使用严格的平等避免不必要的自动转换。您还可以简化的功能。
function validateAddition() {
return $("#validateAddition").val() === "4";
}
您可以把您的验证在语言文件,看起来像这样
"validateAddition": {
"regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
"alertText": "* Your math is off, try again."
},
不隶属于 StackOverflow