2011-07-21 8 views
3

私はマスクされた値を "取得"したい通常のパスワードフィールドを持っています - うん、その醜い**********難読化された値。パスワードフィールドのマスク値を取得していますか?

HTML:

<input type="password" name="password" value="" id="password"></input> 

JS/JQ DOM:

$("#password").val(); // Password in cleartext 
+0

ここではこれを使用していますか? – ShankarSangoli

+0

マスクされた値は、一連の同じ文字です。無駄だ。 –

+0

本当に "マスクされた価値"が必要なのはなぜですか?あなたはただの文字数が欲しいだけですか?一部のブラウザではアスタリスクが表示され、大きな点などが表示されます。 –

答えて

9

あなたが同じくらい*パスワードフィールドあなたの中に挿入された文字の数などを含む文字列をしたいということを意味する場合することができます:

var password = $("#password").val(); 
password = password.replace(/./g, '*'); 
+1

これは答えではありません。 –

+0

多分私はばかですが、私は彼がパスワードの「マスクされた」価値があることを暗示していると理解しました。他の回答を見ている私は間違っている、私は私の答えを編集します。 –

+0

それは答えではありません。それはコメントです。あなたが書いたことが間違っていると言っているわけではありません。 –

1

$("#myfield").val();のreplaすべての文字を*としていますか?

repeat('*', $('#myfield').val().length); 

をか(あなたが一緒に行くの実装に依存する)::

alert($("#myfield").val().replace(/./g, '*')); 
+2

Regexは完全に過剰です。 –

+0

これは、これが識別可能な程度までパフォーマンスに影響するかどうかは疑いの余地があります。 –

+1

それはポイントではないです。 –

2

外出先でa string repeat functionを取得し、その後、これを使用

'*'.repeat($('#myfield').val().length); 

私の個人的な提案:

function repeat(s, n) { 
    return new Array(isNaN(n) ? 1 : ++n).join(s); 
} 

var password = "lolcakes"; 
console.log(repeat('*', password.length)); 
//^Output: ******** 

Live demo.

関連する問題