jQuery验证 - 我如何忽略字母大小写?

Jam*_*mie 10 validation jquery jquery-validate

可能是一个愚蠢的问题,但我似乎无法在谷歌土地上找到任何东西.我只需要一种方法来忽略输入字段的情况.我正在进行城市名称匹配,但需要"亚特兰大"和"亚特兰大"都有效.我该怎么编辑这个以获得我需要的验证爱?

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

感谢任何和所有:)

Jur*_*uri 16

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

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

然后可以用于以下两个样本输入

<input type="text" name="firstname"/>
<input type="text" name="username"/>
Run Code Online (Sandbox Code Playgroud)

喜欢

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


ale*_*lex 8

jQuery.validator.addMethod("atlanta", function(value) {
    return value.toLowerCase() == "atlanta"; 
}, '**Recipient must reside in Chicago City Limits**');
Run Code Online (Sandbox Code Playgroud)


wag*_*agi 6

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

所以进行检查

value.toUpperCase() == "Atlanta".toUpperCase()
Run Code Online (Sandbox Code Playgroud)