2016-11-26 19 views
0

パスコード入力フィールドを検証して特殊文字を除外したいと考えています。 基本的には、文字を許可したいのですが、何かの理由で 数字 が `、 'のような文字を検出していません。私はあなたがする代わりに、これらの特殊文字に貼り付けることにより、テストしている推測しているhttps://jsfiddle.net/gb5kc12z/入力フィールドに特殊文字を許可しない

%かを試してみてください '、C、 `

+1

問題を再現できません。もちろん、私は使用しているHTMLについていくつかの仮定をしなければなりませんでした。あなたはあなたの質問に[mcve]を提供しませんでした。 – Quentin

+1

私は不思議です:そのパスコードを平文で保管していますか?文字通りパスワードのような入力を制限する他の理由はないので、bcrypt、argonまたはPBKDF2でパスワードをハッシュする必要があるため、この理由はあまり良いものではありません。あなたのパスワード。 – Nzall

+0

はあなたのバグを再現できません。 +1 @Nzall – Blag

答えて

0

:C、などここで

$('#passcode').on('keypress', function(e) { 
    var key = String.fromCharCode(!e.charCode ? e.which : e.charCode); 
    if (!/^[A-Z0-9]+$/i.test(key)) { 
     e.preventDefault(); 
    } 
}) 

はフィドルですそれらを入力?コードは、ユーザーが文字を入力するためのキーを離したときにのみテストされます。近代的なブラウザの入力フィールドですべての値変更イベントを追跡する方法の詳細については、 Best way to track onchange as-you-type in input type="text"?を参照してください。

関連する問題