jqueryバリデータプラグインを使用して、2つの10進数+ドット+コンマのみに正規表現を設定します

セバスチャンジッケル

私が使用してjQueryの検証プラグインをクライアントサイドのフォーム検証を実行します。それはうまくいきます。しかし、私は正規表現を正確に知らず、私が望むものを達成することができません。

ユーザーが入力フィールドに入力した内容に応じて3つの異なるメッセージを表示するために、3つの異なる正規表現を追加したいと思います。

  • 正規表現1は、特定のメッセージを含む番号ではないかどうかを検出します
  • 正規表現2は、特定のメッセージを含む小数点にドットまたはコンマを受け入れます
  • 特定のメッセージを含むドットまたはコンマの後の小数は2つの数字のみ

関連する質問はたくさんありますが、私はSOについて多くの回答を試しましたが、うまくいきません。

これが作業スニペットです

jQuery.validator.addMethod("decimal", function(value, element) {
  // Validating Decimal Numbers
  return this.optional(element) || /^([0-9]+[\.]?[0-9]?[0-9]?|[0-9]+)$/g.test(value);
}, 'Please enter only numbers (format 0.00)');

jQuery.validator.addMethod("two_decimal", function(value, element) {
  // require 2 decimals
  return this.optional(element) || /^((\d+(\\.\d{0,2})?)|((\d*(\.\d{1,2}))))$/.test(value);
}, "Pleaser enter 2 numbers after dot");

// https://jqueryvalidation.org
$("#test_form").validate({

  submitHandler: function(form) {
    form.submit();
  },
  // rules, options, etc.,
  onkeyup: function(element) {
    // "eager" validation
    this.element(element);
  },
  rules: {
    decimal_number: {
      required: true,
      minlength: 1,
      maxlength: 10,
      decimal: true,
      two_decimal: true
    }
  },
  messages: {
    montant_demande: {
      required: "Please enter a number",
    }
  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.validate.min.js"></script>

<form class="cmxform" id="test_form" method="get" action="">
  <fieldset>
    <legend>Test</legend>
    <p>
      <label for="decimal_number">Number decimal</label>
      <input id="decimal_number" name="decimal_number" minlength="2" type="text" required>
    </p>
  </fieldset>
</form>

数値のみ、またはコマ,を含む.小数と2つの小数のみを含むドット区切り文字が必要な場合は

以下のスニペットを参照してください:

let decimalMessage = "";

jQuery.validator.addMethod("decimal", function(value, element) {
  let decimal = /[^0-9.,]/g.test(value);
  let decimalWithTwoDecimalNumber = /^\d+([.,]\d{2})?$/.test(value);
  
    
  if(decimal) {
    decimalMessage = 'Please enter only numbers (format 0.00)'
    return this.optional(element);
  }
  if(decimalWithTwoDecimalNumber )
    decimalMessage = 'Pleaser enter 2 numbers after dot'
  
  return this.optional(element)||decimalWithTwoDecimalNumber 
},function(params, element) {
    return decimalMessage
});



// https://jqueryvalidation.org
$("#test_form").validate({

  submitHandler: function(form) {
    form.submit();
  },
  // rules, options, etc.,
  onkeyup: function(element) {
    // "eager" validation
    this.element(element);
  },
  rules: {
    decimal_number: {
      required: true,
      minlength: 1,
      maxlength: 10,
      decimal: true,
    }
  },
  messages: {
    montant_demande: {
      required: "Please enter a number",
    }
  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.validate.min.js"></script>

<form class="cmxform" id="test_form" method="get" action="">
  <fieldset>
    <legend>Test</legend>
    <p>
      <label for="decimal_number">Number decimal</label>
      <input id="decimal_number" name="decimal_number" minlength="2" type="text" required>
    </p>
  </fieldset>
</form>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Notepad ++正規表現を使用してドットを検索してコンマに置き換えます

分類Dev

R:正規表現-正規表現のマッチングを支援します

分類Dev

正規表現を使用してコマンドのリストを取得する

分類Dev

正規表現はドットとコンマを許可します

分類Dev

正規表現を使用して「test」\の単語テストのみをエンコードしますか?

分類Dev

グローバルマルチラインモード(/ gm)で正規表現を使用してPHPコードのみを照合する

分類Dev

正規表現を使用して数値のコンマ区切りリストを検証します

分類Dev

10進数の正規表現の前後のすべてのゼロをトリミングします

分類Dev

正規表現を使用してこの行をフォーマット済みコードにフォーマットする方法

分類Dev

正規表現を正しくフォーマットして、pythonを使用して正規表現1と正規表現2の間のテキストドキュメントから段落を見つけて解析することに失敗しました

分類Dev

Linuxのcpコマンドで正規表現をどのように使用しますか?

分類Dev

パンダは正規表現を使用して2つのデータフレームをマッピングします

分類Dev

正規表現の先読みを使用してクレジットカード番号を4つのチャンクに分割しますか?

分類Dev

設定する正規表現のマッチング

分類Dev

get-contentコマンドからの正規表現の結果をフィルタリングします

分類Dev

モードを正規表現から正規表現に設定しますか?

分類Dev

このタイプの正規表現コマンドは存在しますか?

分類Dev

正規表現を使用して可変長のコマンドライン引数を解析する方法は?

分類Dev

Python正規表現:プレフィックス長の組み合わせを設定します

分類Dev

csvファイル(正規表現)の行のコンマの正確な量をカウントします

分類Dev

パイプ演算子を使用して、2つのPythonスクリプト間でデータの複数のバッチをストリーミングする

分類Dev

BASHスクリプトで正規表現を使用して、シーケンスの前半でコマンドによって出力として最近作成されたファイル名/タイプを取得します

分類Dev

Java-正規表現-複数のドットとコンマを1つのドットに置き換えます

分類Dev

WPFバインディングを使用して2つのコマンドパラメーターを渡す

分類Dev

ウェブサイトで正規表現を使用して見つかったすべての画像ファイルを、Pythonで私のコンピューターの指定されたディレクトリにダウンロードします

分類Dev

正規表現を使用してzshのタブでオートコンプリートできますか

分類Dev

正規表現でドットまたはコンマを検出する

分類Dev

Perl正規表現マッチンググループのデータ型を返します

分類Dev

正規表現とmatplotlibを使用して、特定のデータのグラフをプロットします

Related 関連記事

  1. 1

    Notepad ++正規表現を使用してドットを検索してコンマに置き換えます

  2. 2

    R:正規表現-正規表現のマッチングを支援します

  3. 3

    正規表現を使用してコマンドのリストを取得する

  4. 4

    正規表現はドットとコンマを許可します

  5. 5

    正規表現を使用して「test」\の単語テストのみをエンコードしますか?

  6. 6

    グローバルマルチラインモード(/ gm)で正規表現を使用してPHPコードのみを照合する

  7. 7

    正規表現を使用して数値のコンマ区切りリストを検証します

  8. 8

    10進数の正規表現の前後のすべてのゼロをトリミングします

  9. 9

    正規表現を使用してこの行をフォーマット済みコードにフォーマットする方法

  10. 10

    正規表現を正しくフォーマットして、pythonを使用して正規表現1と正規表現2の間のテキストドキュメントから段落を見つけて解析することに失敗しました

  11. 11

    Linuxのcpコマンドで正規表現をどのように使用しますか?

  12. 12

    パンダは正規表現を使用して2つのデータフレームをマッピングします

  13. 13

    正規表現の先読みを使用してクレジットカード番号を4つのチャンクに分割しますか?

  14. 14

    設定する正規表現のマッチング

  15. 15

    get-contentコマンドからの正規表現の結果をフィルタリングします

  16. 16

    モードを正規表現から正規表現に設定しますか?

  17. 17

    このタイプの正規表現コマンドは存在しますか?

  18. 18

    正規表現を使用して可変長のコマンドライン引数を解析する方法は?

  19. 19

    Python正規表現:プレフィックス長の組み合わせを設定します

  20. 20

    csvファイル(正規表現)の行のコンマの正確な量をカウントします

  21. 21

    パイプ演算子を使用して、2つのPythonスクリプト間でデータの複数のバッチをストリーミングする

  22. 22

    BASHスクリプトで正規表現を使用して、シーケンスの前半でコマンドによって出力として最近作成されたファイル名/タイプを取得します

  23. 23

    Java-正規表現-複数のドットとコンマを1つのドットに置き換えます

  24. 24

    WPFバインディングを使用して2つのコマンドパラメーターを渡す

  25. 25

    ウェブサイトで正規表現を使用して見つかったすべての画像ファイルを、Pythonで私のコンピューターの指定されたディレクトリにダウンロードします

  26. 26

    正規表現を使用してzshのタブでオートコンプリートできますか

  27. 27

    正規表現でドットまたはコンマを検出する

  28. 28

    Perl正規表現マッチンググループのデータ型を返します

  29. 29

    正規表現とmatplotlibを使用して、特定のデータのグラフをプロットします

ホットタグ

アーカイブ