需要根据文本字段中的值是否为特定数字返回true或false

时间:2010-08-05 14:51:26

标签: javascript html jquery-validation-engine

如果用户在输入字段中输入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."}

这应该没问题,让我知道你认为是错的。

4 个答案:

答案 0 :(得分:1)

http://www.w3schools.com/jsref/jsref_parseInt.asp

return (parseInt($('#validateAddition').val()) == 4)

编辑:MooGoo是正确的,就我的解释而言,我错了。

然而,使用+ val的想法可能不是最好的。虽然上面的方法可行,但您需要更好的解决方案如下:

if(($('#validateAddition').val()-0) == 4)

我们想要-0而不是+0的原因仅仅是因为如果它是一个字符串并且你想要执行任何其他操作,那么你将不再拥有原始字符串。

答案 1 :(得分:0)

如果你想允许其他字符,只有当输入字段的文本包含4时才返回true,你应该这样做:

if($("#validateAddition").val().indexOf('4') != -1) {

答案 2 :(得分:0)

将值与字符串进行比较,因为该值是一个字符串。这允许您使用严格等于避免不必要的自动转换。您也可以简化功能。

function validateAddition() {
  return $("#validateAddition").val() === "4";
}

答案 3 :(得分:0)

您可以将验证放在语言文件中,看起来像这样


"validateAddition": {
    "regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
    "alertText": "* Your math is off, try again."
},