SO がコード ジェネレータではないことはわかっていますが、この RegExp には頭がおかしくなりそうです。HTML にテキストを入力しまし
た。ユーザーが特定のリスト内の要素をダブルクリックすると、入力が自動的に入力されます。
このイベントは、またはのような文字列を生成し、フィールドのカーソル位置に配置します。
このプロセスの最初の目標は、数式構造を構築することです。つまり、大括弧の間に生成された文字列は要素を挿入するので、ユーザーが数字と演算子のみを入力できるようにしたいと考えています。<input />
<form />
"[text:number]"
"[text:number:text]"
<input />
keydown
イベントをバインドし、文字をテストしようとしましString.fromCharCode(e.which);
たが、キー「+」または「-」(およびその他の演算子) の場合、この関数はアルファベット文字を返します。成功せずに。
次に、最終的にkeyup
イベントを使用することにしました。次に、RegExp を使用して<input />
値を置き換えます。
$("#inputID").keyup(function(){
var formule = $(this).val();
var valid_formule = formule.replace(CRAZY_REGEXP,'');
$(this).val(valid_formule);
});
したがって、私の質問は次のとおりです
。JavaScript RegExp をどのように構築して、角かっこで囲まれておらず()+-*/,.
、との相違点であるすべての文字を削除するかnumbers
。
例:
"a[dse:1]a+a[dse:5]a+a[cat:5:sum]a+(a10a/5,5)!"
になります
"[dse:1]+[dse:5]-[cat:5:sum]+(10/5,5)"
アイデアがあれば、私の目標を達成するための別の方法を受け入れます。ありがとう !