【问题标题】:jQuery validate - how do I ignore letter case?jQuery 验证 - 我如何忽略字母大小写?
【发布时间】:2011-02-22 23:24:19
【问题描述】:

可能是一个愚蠢的问题,但我似乎无法在谷歌土地上找到任何东西。我只需要一种方法来忽略输入字段的大小写。我正在做一个城市名称匹配,但需要“亚特兰大”和“亚特兰大”都有效。我应该如何编辑它以获得我需要的验证爱?

    jQuery.validator.addMethod("atlanta", function(value) {
    return value == "Atlanta"; //Need 'atlanta' to work too
}, '**Recipient must reside in Chicago City Limits**');

感谢所有 :)

【问题讨论】:

    标签: jquery validation jquery-validate


    【解决方案1】:

    您甚至可以创建一个更通用的 jQuery 验证规则,可以重复使用该规则来执行不区分大小写的比较,例如

    $.validator.addMethod("equalToIgnoreCase", function (value, element, param) {
            return this.optional(element) || 
                 (value.toLowerCase() == $(param).val().toLowerCase());
    });
    

    然后可用于以下两个示例输入

    <input type="text" name="firstname"/>
    <input type="text" name="username"/>
    

    喜欢

    $("form").validate({
        rules: {
            firstname: {
               equalToIgnoreCase: "input[name=username]"
            }
        },
        messages: {
            firstname: {
               equalToIgnoreCase: "The 'firstname' must match the 'username'"
            }
        });
    

    【讨论】:

      【解决方案2】:
      jQuery.validator.addMethod("atlanta", function(value) {
          return value.toLowerCase() == "atlanta"; 
      }, '**Recipient must reside in Chicago City Limits**');
      

      【讨论】:

      • 超级快速回答亚历克斯!太棒了,感谢这完美的工作。一旦有人向您展示了它是如何完成的,这似乎总是显而易见的:)
      • @Jamie 别担心,编码愉快!
      【解决方案3】:

      获得不区分大小写匹配的最简单方法是将两个值都转换为大写,然后进行比较(大写是因为在某些文化/语言中,从大写到小写的转换会改变字符!)。

      所以请检查

      value.toUpperCase() == "Atlanta".toUpperCase()
      

      【讨论】:

      • 这是一个很好的解决方案。也测试了它,并认为我会坚持下去。大多数人都会大写。
      【解决方案4】:
      return value.toLowerCase() == "atlanta";
      or use
      return value.toLowerCase() == "Atlanta".toLowerCase();
      

      【讨论】:

      • 谢谢阿米特!完美的答案。非常感谢。
      【解决方案5】:
      return (value ? value.match(/atlanta/i) : null) != null
      

      这是不区分大小写的,您可以使用正则表达式做很多有趣的事情。享受。并且请不要这样做 "Cosntant".toLowerCase() 这样做有太多错误了。

      【讨论】:

      • 我试过这个(我很好奇,想知道各种给猫剥皮的方法),但我没有得到任何爱。为什么 .toLowerCase() 不是 Dmitriy 的正确方法?
      猜你喜欢
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-29
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      相关资源
      最近更新 更多