こんにちは、入力されたお金と数字を認識する正規表現を作成しようとしています。フォーマットされていない数値がプログラムで入力されることを期待しているため、数値を許可する必要があります。その後、自分でフォーマットします。何らかの理由で、私の正規表現は可能な入力として1文字を許可しています。
[\$]?[0-9,]*\.[0-9][0-9]
私の正規表現は、複数のコンマが追加され、小数点以下 2 桁が必要なケースを受け入れることを理解しています。私はすでにそれを修正する方法について考えていました。*\.
私はそれを問題としておそらくに絞り込みました
編集
機能する正規表現を見つけましたが、[\$]?([0-9,])*[\.][0-9]{2}
そもそもそれがどのように、またはなぜ失敗したのかはまだわかりません
を使用して.formatCurrency()
、入力を通貨形式にフォーマットしています。ここで見つけることができますが、それでもアルファベット文字を使用できるため$(this).inputmask('Regex', { regex: "[\$]?([0-9,])*[\.][0-9]{2}" });
、入力マスクがここ にあり$(this)
、テキスト型の入力要素への参照である場所を使用してさらにマスクする必要があります。私のコードは次のようになります
<input type="text" id="123" data-Money="true">
//in the script
.find("input").each(function () {
if ($(this).attr("data-Money") == "true") {
$(this).inputmask('Regex', { regex: "[\$]?([0-9,])*[\.][0-9]{2}" });
$(this).on("blur", function () {
$(this).formatCurrency();
});
これが役立つことを願っています。JSfiddle を作成しようとしましたが、外部ライブラリ/プラグイン/拡張機能を追加する方法を知りました