代码之家  ›  专栏  ›  技术社区  ›  Brad

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

  •  0
  • Brad  · 技术社区  · 16 年前

    如果用户在输入字段中输入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 回复  |  直到 13 年前
        1
  •  1
  •   Angelo R.    15 年前

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

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

    编辑:穆古是对的,我的解释是错的。

    然而,使用+val的想法可能不是最好的。虽然上面的方法可以按照您的需要工作,但一个更好的解决方案是:

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

    与+0相比,我们希望-0的原因很简单,因为如果它是一个字符串,并且您希望执行任何其他操作(如果是),那么您将不再拥有原始字符串。

        2
  •  0
  •   Sarfraz    16 年前

    如果您还希望允许其他字符,并且仅当输入字段的文本包含4时才返回true,则应改为这样做:

    if($("#validateAddition").val().indexOf('4') != -1) {
    
        3
  •  0
  •   RoToRa    16 年前

    因为值是一个字符串,所以可以将值与字符串进行比较。这允许您使用严格的等号来避免不必要的自动转换。还可以简化函数。

    function validateAddition() {
      return $("#validateAddition").val() === "4";
    }
    
        4
  •  0
  •   Terrance    15 年前

    您可以将验证放在语言文件中,如下所示

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