ホームページ >バックエンド開発 >PHPチュートリアル >正規表現と別の正規表現またはテスト メソッドを検索します。 (ポイントが足りない場合は補充してください!)

正規表現と別の正規表現またはテスト メソッドを検索します。 (ポイントが足りない場合は補充してください!)

WBOY
WBOYオリジナル
2016-06-23 14:21:06792ブラウズ

正規表現の番号

マスターに正規表現と別の正規表現、またはテスト メソッドを提供するように依頼します。 具体的な状況は次のとおりです。

1. 8cf1cf3d20ed6ddce37e286b0849e2fc の場合、ユーザーは 13.04; 5000; 123.6.... の形式で金額を入力する必要があります。つまり、入力する数値は 10 進数または整数にすることができ、小数点以下の数値は 1 または 2 にすることができますが、2 に制限する必要があります。一言で言えば、ここでユーザーが入力したのが数値であるか、小数点付きの浮動小数点数であるかを判断したいと考えています。これらの数値は後で追加するためです。

それを直接検出できる魔法の正規表現はあるのでしょうか?それとも、油断して入力を数字として判断したほうがいいのでしょうか?
魔法の正規表現かテスト方法を教えてください。

この投稿のポイントは 100 ですが、追加ポイントを与えるには不十分です。

ディスカッションへの返信(解決策)

まずはテスト金額を書きます

//$money = '123';//$money = '12.3';//$money = '123.4';$money = '123.45';//$money = '123.456';//$money = '123456';if( preg_match('/^\d+(\.\d{1,2})?$/',$money) ){	echo $money;}

厳密にテストする場合、正規表現を使ってテスト時間を書くのは実は非常に手間がかかります。
1 時間や 2 時間の問題ではありませんが、36 時間などの法定範囲を超える時間を検出するのは簡単ではありません。
if( preg_match('/([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]/',$ time) ){
echo $time
}

神様、よろしくお願いします。すぐにテストしてみます。

テストは成功しました。ありがとう。これからも頑張ります。

厳密にテストする場合、テスト時間を正規表現で書くと実は大変なことになります。
1 時間や 2 時間の問題ではありませんが、36 時間などの法定範囲を超える時間を検出するのは簡単ではありません。
if( preg_match('/([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]/',$ time) ){
echo $time
}

ありがとうございます、ポイントが付与されます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。