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

时间:2011-02-22 23:24:20

标签: jquery validation jquery-validate

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

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

感谢所有人:)

5 个答案:

答案 0 :(得分:16)

你甚至可以创建一个更通用的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'"
        }
    });

答案 1 :(得分:8)

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

答案 2 :(得分:6)

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

所以进行检查

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

答案 3 :(得分:2)

return value.toLowerCase() == "atlanta";
or use
return value.toLowerCase() == "Atlanta".toLowerCase();

答案 4 :(得分:1)

return (value ? value.match(/atlanta/i) : null) != null

这是不区分大小写的,你可以用正则表达式做很多有趣的事情。请享用。请不要"Cosntant".toLowerCase()那里有太多错误。