PHP では、特に数値と小数点の入力検証を実装したい場合、正規表現を使用してこのタスクを実行できます。この記事では、PHP で正規表現を使用して、小数点以下 N 桁の数値と入力を検証する方法を説明します。
まず、文字列が純粋な数値かどうかを確認する方法の比較的簡単な例を見てみましょう:
<?php $num = "123456"; if (preg_match("/^d+$/", $num)) { echo "是纯数字"; } else { echo "不是纯数字"; } ?>
上記のコードでは、preg_match 関数を使用しています。正規表現によるマッチング。最初のパラメータは正規表現で、2 番目のパラメータは一致する文字列です。このコードで使用されている正規表現は /^d $/
です。これは、数字で始まり数字で終わる文字列と一致することを意味し、間に複数の数字が存在する可能性があります。
次に、小数点以下 N 桁の入力を確認するには、次のコードを使用します。
<?php $num = "3.14"; if (preg_match("/^d+(.d{1,2})?$/", $num)) { echo "是小数点后两位的数字"; } else { echo "不是小数点后两位的数字"; } ?>
上記のコードでは、上記と同様の方法を使用して、入力値は規定を満たしています。正規表現 /^d (.d{1,2})?$/
では、d
は複数の数字の一致を意味し、.
は小数点の一致を意味します。 d{1,2}
は 1 ~ 2 の数値を照合することを意味し、(.d{1,2})?
は小数部分がオプションであることを意味します。
小数点以下 3 桁以上を検証する必要がある場合は、上記のコードの d{1,2}
を必要な桁に変更するだけです。
実際の開発では、再利用しやすいように検証ロジックを関数にカプセル化することもできます。コードは次のとおりです:
<?php function validate_number($num, $decimal_digits) { $pattern = "/^d+(.d{1,$decimal_digits})?$/"; return preg_match($pattern, $num); } $num = "3.14159"; if (validate_number($num, 3)) { echo "是小数点后 3 位的数字"; } else { echo "不是小数点后 3 位的数字"; } ?>
上記のコードでは、検証ロジックを関数にカプセル化しています。 validate_number の関数が呼び出されます。$num は検証される入力値、$decmal_digitals は小数点以下に許可される桁数です。上記の正規表現は検証のために内部的に使用されます。
概要
上記の例を通じて、PHP で正規表現を使用して数値と小数点を確認するのが非常に簡単であることがわかります。開発者は、何を検証したいのかを把握し、対応する正規表現を記述するだけで済みます。実際の開発では、関数をカプセル化することでコードの再利用性を向上させることもできます。
以上がPHPで正規表現を使用して数値と小数点以下N桁の入力を検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。