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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 14:21:06
オリジナル
830 人が閲覧しました

正規表現の番号

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

1. このような入力では、ユーザーは時刻を 9:08,14:23,00:54 の形式で入力する必要があります。時間は 1 桁または 2 桁のいずれかであることに注意してください。
この場合、正規表現はどのように書けばよいのでしょうか?そして、この正規表現を使ってどのように判断すればよいのでしょうか? (私は正規表現の威力については長い間知っていましたが、一度も使用したことがありません。マスターの皆様、気を悪くしないでください)


2. もう 1 つの入力は の場合、ユーザーは 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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート