2017-06-15 4 views
-2

ユーザーが入力を試みると、最後の3つの値のみを表示し、他のものをパスワードとして使用したいと考えています。最後の3つの値のみを入力に表示する方法

このような何か:***** 456

は、あなたがこの使用javascriptやjqueryのを達成するためにどのように任意のアイデアを持っていますか?

ありがとうございます。

+3

何か試しましたか?いくつかのコードを投稿し、どれだけ手に入れたか教えてください。 – Utkanos

+0

jqueryの「onKeyUp」イベントでグーグルでお試しください:) – Beri

答えて

0

それを刺すことに決めました。私は実際にこの考えを使用するかどうかは分かりません...

function attachToInput(input) { 

    // the actual characters 
    var chars = []; 

    // update the input with the hidden prefix version 
    function updateInputValue() { 
    var value = chars.join(""); 
    var nHidden = Math.max(0, value.length - 3); 
    var last3 = value.substr(nHidden); 
    input.value = "*".repeat(nHidden) + last3; 
    } 

    // standard characters 
    input.addEventListener("keypress", function (e) { 
    var pos = input.selectionStart; 
    var char = String.fromCharCode(e.keyCode); 
    chars.splice(pos, 0, char); 
    updateInputValue(); 
    e.preventDefault(); 
    }); 

    // backspace & delete 
    input.addEventListener("keydown", function (e) { 
    var pos = input.selectionStart; 
    if (e.keyCode === 8) { 
     chars.splice(pos - 1, 1); 
     updateInputValue(); 
     e.preventDefault(); 
    } 
    if (e.keyCode === 46) { 
     chars.splice(pos, 1); 
     updateInputValue(); 
     e.preventDefault(); 
    } 
    }); 
} 

$(function() { 
    var input = document.getElementById("foo"); 
    attachToInput(input); 
}); 
関連する問題