2

フォーム内のすべての入力フィールド (基本的にテキストボックスとテキストエリア) に入力または貼り付けられた許可されていない文字を置き換える方法を見つけようとしています。ユーザーが許可されていない文字を 1 つ以上含むテキストを貼り付けるときはいつでも、その文字を空の文字列 '' に置き換えたいと思いますが、残りのテキストはそのままにしておきます。彼らが文字を入力して入力した場合、私は「何も起こらない」ことを望みます (たとえば、入力しても文字が表示されないようにする)。

これを行う方法に関するコード サンプル、または既にこれを行っている jQuery プラグイン (実際の使用方法の例を含む) はありますか? 任意の形式の貼り付け (ブラウザー メニューから、マウス/メニュー コマンド、貼り付け用の OS ショートカットなど) と、入力による直接のユーザー入力で機能する方法を見つけようとしています。

具体的には、 、 、 、または の形式の中括弧を禁止する必要{[あり]ます}

4

1 に答える 1

2

次のようになります。

HTML

<textarea name="" id="text" cols="30" rows="10"></textarea>

JS

$(function(){
    $('#text').on('keyup paste',function(){
        oldtxt = $(this).val();
        find = '(\{?)(\}?)(\\[?)(\\]?)';
        newtxt = oldtxt.replace(new RegExp(find, 'g'), '');
        $(this).val(newtxt);
    });
});

デモ: http://jsfiddle.net/RaphaelDDL/VB32P/

于 2013-08-09T18:52:36.280 に答える