0

ユーザーがテキスト入力フィールドに入力できる文字を制限して、数字、ピリオド、コロンのみを入力できるようにしたいと考えています。そのため、他の何かを入力しても、表示も登録もされません。これは、たとえば IP アドレス用です: 10.200.66.106:8888

jQueryでこれを達成するにはどうすればよいですか?

私は jsFiddle で小さな例を書きました: http://jsfiddle.net/6xMxs/

HTML:

<div id="outer">
    <div id="inner">
            <p>IP Address:</p>
        <p class="edit">2323</p>
    </div>
<div>

jQuery:

 $(document).ready(function() {
 $('.edit').editable('ipaddress/update',{ 
     type      : 'textarea',
     cancel    : 'Cancel',
     submit    : 'OK',        
     tooltip   : 'Click to edit...'
 });

});

4

2 に答える 2

1

許可されていない文字を削除できます。

<input id="ip" type="text" />



$(document).ready(function() {

     $('#ip').keyup(function() { 
        var el = $(this),
            val = el.val();

         el.val(val.replace(/[^\d\.]/gi, ""));
     }).blur(function() {
         $(this).keyup();
     });
 });

働くフィドル

しかし、より良い方法があります。たとえば、不要な文字の入力を完全に「ブロック」することができます。また、サーバー側の検証が行われていない場合は、これらの制限を簡単に回避できることを覚えておいてください。

また、コンテキストが示唆するように、html5 ブラウザーでのみ機能するhtml5 属性パターンをチェックアウトすることもできます。

于 2013-10-02T10:16:11.677 に答える
0

これを行うには、 jquery の英数字プラグインを使用できます。要素にいくつかのクラスを追加します。

$(".myclass").numeric({allow:"."});
于 2013-10-02T10:09:39.620 に答える