数字のみを受け入れるためにJSを使用してメカニズムを構築します。
ただし、許可したい: Delete、、、:Backspaceleft arrow right arrow
私が思いついた解決策は次のとおりです。
私がhtmlで書いていると仮定します(イベントを送信するのが悪いことはわかっていますが、Jsコードに焦点を当ててください):
<input onKeyPress='return CheckDigit(event)'/>
function CheckDigit(evt)
{
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (((charCode >= 48) && (charCode <= 57)) || checkIfDelOrNavigate(charCode)))
return true;
return false;
}
function checkIfDelOrNavigate(c)
{
if (((c == 46) || (c == 39) || (c == 37) || (c == 8))) return true;return false;
/*46=delete , 39,37 = arrows , 8=backspace*/
}
質問:
それは正しい解決策ですか?(そうでない場合は、答えを教えてください)
正規表現チェックに変更できると思います:
コード:
var regEx =/^[0-9]+$/;
isValid = regEx.test(keyChar);
return isValid;
しかし、完全なregEx
式はどうなるでしょうか?
Deleteps : 奇妙ですが、私が見たすべてのソリューションは、 , Backspace, left arrow, right arrow chars 、カテゴリ自体だけを許可したくありません。