Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery验证-如何忽略字母大小写?_Jquery_Validation_Jquery Validate - Fatal编程技术网

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

jQuery验证-如何忽略字母大小写?,jquery,validation,jquery-validate,Jquery,Validation,Jquery Validate,可能是个愚蠢的问题,但我似乎在谷歌土地上找不到任何东西。我只需要一个方法来忽略输入字段的大小写。我正在进行城市名称匹配,但需要同时使用“亚特兰大”和“亚特兰大”才能生效。我应该如何编辑它以获得我需要的验证爱 jQuery.validator.addMethod("atlanta", function(value) { return value == "Atlanta"; //Need 'atlanta' to work too }, '**Recipient must resid

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

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

Pre感谢any and all:)

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

那就结账吧

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

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

您甚至可以创建一个更通用的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"/>

超级快速回答亚历克斯!真是太棒了,谢谢你,这真是太棒了。一旦有人向你展示了它是如何完成的,你就会明白:)@Jamie别担心,编码快乐!这是一个很好的解决方案。也测试过了,我想我会坚持下去。大多数人都会大写。谢谢你,阿米特!完美答案。非常感谢。我试过这个(我很好奇,想知道剥猫皮的各种方法),但我没有得到任何爱。为什么.toLowerCase()不是正确的方法?
return (value ? value.match(/atlanta/i) : null) != null
$.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'"
        }
    });