jqueryで通貨正規表現を作成しようとしています。「1-3」のように中央にマイナス記号が付いた数字が含まれていることを除いて、すべて正常に機能します
次の正規表現で一致関数を使用しています。
/[\$€£]\d{0,3},?\d{1,3}(.\d{2})?/g
マイナス記号が含まれている理由を誰かが知っていますか?
ご協力いただきありがとうございます!
.
正規表現の途中にマイナス記号があるため、マイナス記号が含まれています。.
任意の文字に一致できることを示します。
をエスケープします。エスケープし.
ないと、任意の文字に一致します。この場合、。と一致し-
ます。
$
また、文字クラス内では意味がないため、エスケープする必要はありません。[...]
編集:これが私が使用するものです:
/^[$£€]\d{1,3}(?:,\d{3})*(?:\.\d{2})?$/
フォーム入力に入力すると、通貨と数値を自動的にフォーマットするjqueryプラグインのautoNumericプラグインを使用します。最初に、ヘッダーにjQuery.jsファイルとautoNumeric-1.9.19.jsjavascriptファイルを含めます。
2番目-HTML/JSPドキュメントにフォームと入力フィールドを挿入します。
3番目-別のスクリプトでautoNumeric$('selector')。autoNumeric('init')を初期化します。
jQuery(function($){
$('#someID_defaults').autoNumeric('init', {aSign:',', pSign:'£', vMax:'99999.99' });
});