Pull to refresh

Как определить регистр символа (Caps Lock)

На днях столкнулся с задачей по оповещении пользователя при вводе пароля о том, что он вводит символы в верхнем регистре. Забыл отключить «Caps Lock», или так задумано, для меня не важно — мое дело напомнить ему об этом.

В ходе написание скрипта были учтены непереводимые в регистр символы, цифры, пробел. При определении ввода верхнего регистра проверяю последний введенный символ.

Функция, которая принимает объект и уже на типу объекта, берет значение для проверки:

/** 
* return boolean
* true - using Caps Lock
* false - not using Caps Lock
**/
function checkingUp(_obj){

    var symbol = '';
    var type = _obj[0].tagName;

    switch(type)
    {
        case "INPUT" :
            symbol = String(_obj.val());
                break;
    }

    if(symbol == ''){
        return false;
    }        

    symbol = symbol.substr(symbol.length - 1, (symbol.length));        

    if($.isNumeric(symbol)){
        return false;    
    }

    var newSymbol = symbol.toLowerCase();

    if(symbol != newSymbol){
        return true;    
    }

    return false;

}


Функция принимает String значение для проверки:

function checkingUp(_obj){

    var symbol =String( _obj);

    if(symbol == ''){
        return false;
    }        

    symbol = symbol.substr(symbol.length - 1, (symbol.length));        

    if($.isNumeric(symbol)){
        return false;    
    }

    var newSymbol = symbol.toLowerCase();

    if(symbol != newSymbol){
        return true;    
    }

    return false;

}

И под конец источник вызова функции. Немного кода, в котором при обходе полей проверяются их тип на «password» и при вводе текста осуществляется проверка на вводимую информацию.

    $("#login-form input[type=password]").each(function(){

        // после поля ввода пароля расположен span с логотипом капчи, скрытый стилями css
        var iconCapsLock = $(this).parent().find('.capslock');

        $(this).bind('keyup', function(){

             if(checkingUp($(this))){
                iconCapsLock.show();
             }
             else{
                iconCapsLock.hide();
             }
        });

        $(this).bind('blur', function(){
            iconCapsLock.hide();
        });

});
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.