JQuery проверить - как игнорировать регистр букв? - PullRequest
10 голосов
/ 23 февраля 2011

Вероятно, глупый вопрос, но я не могу найти что-либо в Google Land.Мне просто нужен один из моих методов, чтобы игнорировать регистр введенного поля.Я делаю совпадение названий городов, но мне нужны и «Атланта», и «Атланта».Как мне отредактировать это, чтобы получить нужную любовь для подтверждения?

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

Предварительно спасибо всем и каждому:)

Ответы [ 5 ]

16 голосов
/ 19 октября 2011

Вы можете даже создать более общее правило проверки 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'"
        }
    });
8 голосов
/ 23 февраля 2011
jQuery.validator.addMethod("atlanta", function(value) {
    return value.toLowerCase() == "atlanta"; 
}, '**Recipient must reside in Chicago City Limits**');
6 голосов
/ 23 февраля 2011

Самый простой способ получить регистронезависимое совпадение - преобразовать оба значения в верхний регистр и затем сравнить (верхний регистр, потому что в некоторых культурах / языках преобразование верхнего регистра в нижний регистр может изменить символ!).

Так что сделайте чек

value.toUpperCase() == "Atlanta".toUpperCase()
2 голосов
/ 23 февраля 2011
return value.toLowerCase() == "atlanta";
or use
return value.toLowerCase() == "Atlanta".toLowerCase();
1 голос
/ 23 февраля 2011
return (value ? value.match(/atlanta/i) : null) != null

Это без учета регистра, и вы можете делать много забавных вещей с регулярным выражением.Наслаждаться.И, пожалуйста, не делайте "Cosntant".toLowerCase(), в этом слишком много неправильного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...