0

おはようございます。フォーカス時にテキスト入力をチェックし、数値以外の文字がある場合は値をクリアする(つまり、何らかのテキストがある場合)単純なウィジェットを作成したいと思います。実際に私はこれに取り組んでいます:

$("#textinpId").focus(function() {

    if( $(this).val() == "Default Text" ) {
        $(this).val("");
    }

});

しかし、「デフォルトのテキスト」だけでなく、数字以外の数字(電話番号)にも一般化したいと思います。次に、それほど重要ではありませんが、フォーカスとフォーカス解除の両方でイベントをトリガーしたいと思いますが、この部分は私ですきっと私は自分自身を処理できると確信しています:D

それは可能ですか?

4

4 に答える 4

4
$('#textinpId').focus(function(){
    var regex = /^\d+$/;
    if(!regex.test($(this).val())) {
        $(this).val('');
    }
}); 
于 2013-07-25T14:02:28.230 に答える
2

10 進数値のみを受け入れるには、onkeypress イベントで次の関数を使用します。

<input type="text" onkeypress=" return isNumberKey(event)"/>

  function isNumberKey(evt) {
                var charCode = (evt.which) ? evt.which : event.keyCode
                if (charCode != 46 && charCode > 31
            && (charCode < 48 || charCode > 57))
                    return false;

                return true;
            }

使用できる整数のみ

<input type="text" onkeyup="if (/\D/g.test(this.value)) this.value = this.value.replace(/\D/g,'')"/>
于 2013-07-25T14:02:20.863 に答える
1

これを試して

jQuery('#phone').keyup(function(){
    if(!isNumber($(this).val()))
    {
       $(this).val('');
    }
    });

function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}

フィドル

アップデート

ピントもチェック

フィドル

DECIMAL数字のみを許可する場合

フィドル

于 2013-07-25T14:01:16.780 に答える