PHPサンプル
UPDATE:2017年04月01日
時刻を判別したい
正規表現 時刻 の書式の判別 「preg_match()」
数値や論理値 = preg_match (パターン文字列, 入力文字列)
パターン文字列は、検索するパターンを表現する文字列です。入力文字列は検索する対象の文字列です。検索に一致すると数値の 1 を返し、一致しなかった場合 0 を返し、エラーが発生した場合は、 論理値 FALSE を返します。
時刻の書式が正しいかどうか判別する正規表現
書式:00:00:00~23:59:59 の書式を判別しています。
1 2 3 4 5 6 7 8 | <!-- サンプルコード --> <?php //書式:00:00:00~23:59:59 if(preg_match('/^(0[0-9]{1}|1{1}[0-9]{1}|2{1}[0-3]{1}):(0[0-9]{1}|[1-5]{1}[0-9]{1}):(0[0-9]{1}|[1-5]{1}[0-9]{1})$/', $time)) {echo '<font color="blue">'.$time.' 正しい時刻</font><br>';} else {echo '<font color="red">'.$time.' 不正な時刻</font><br>';} ?> |
書式:01:00:00~12:59:59の書式を判別しています。
1 2 3 4 5 6 7 8 | <!-- サンプルコード --> <?php //書式:01:00:00~12:59:59 if(preg_match('/^(0[1-9]{1}|1{1}[0-2]{1}):(0[0-9]{1}|[1-5]{1}[0-9]{1}):(0[0-9]{1}|[1-5]{1}[0-9]{1})$/', $time)) {echo '<font color="blue">'.$time.' 正しい時刻</font><br>';} else {echo '<font color="red">'.$time.' 不正な時刻</font><br>';} ?> |
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | <!-- サンプルコード --> <h3>正規表現 時刻の書式の判別 書式 00:00:00~23:59:59</h3> <?php function hhiiss0023($time){ /* 時 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 分 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ・・・・ 55 56 57 58 59 秒 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ・・・・ 55 56 57 58 59 */ if(preg_match('/^(0[0-9]{1}|1{1}[0-9]{1}|2{1}[0-3]{1}):(0[0-9]{1}|[1-5]{1}[0-9]{1}):(0[0-9]{1}|[1-5]{1}[0-9]{1})$/', $time)) {echo '<font color="blue">'.$time.' 正しい時刻</font><br>';} else {echo '<font color="red">'.$time.' 不正な時刻</font><br>';} } echo '<h4>時が不正</h4>'; hhiiss0023(':59:59'); hhiiss0023('0:59:59'); hhiiss0023('24:59:59'); hhiiss0023('30:59:59'); hhiiss0023('000:59:59'); hhiiss0023('1a:59:59'); echo '<h4>分が不正</h4>'; hhiiss0023('23::59'); hhiiss0023('23:0:59'); hhiiss0023('23:60:59'); hhiiss0023('23:000:59'); hhiiss0023('23:1a:59'); echo '<h4>秒が不正</h4>'; hhiiss0023('00:00:'); hhiiss0023('00:00:0'); hhiiss0023('00:00:60'); hhiiss0023('00:00:000'); hhiiss0023('00:00:1a'); echo '<h4>30時間チェック</h4>'; for($i = 0; $i <= 30; $i++){ $time = date('H:i:s',mktime(0+$i,0,0,date('n'),date('j'),date('Y'))); hhiiss0023($time); } echo '<h4>100分チェック</h4>'; for($i = 0; $i <= 100; $i++){ $time = date('H:i:s',mktime(0,0+$i,0,date('n'),date('j'),date('Y'))); hhiiss0023($time); } echo '<h4>100秒チェック</h4>'; for($i = 0; $i <= 100; $i++){ $time = date('H:i:s',mktime(0,0,0+$i,date('n'),date('j'),date('Y'))); hhiiss0023($time); } ?> <h3>正規表現 時刻の書式の判別 書式 01:00:00~12:59:59</h3> <?php function hhiiss0112($time){ /* 時 01 02 03 04 05 06 07 08 09 10 11 12 分 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ・・・・ 55 56 57 58 59 秒 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ・・・・ 55 56 57 58 59 */ if(preg_match('/^(0[1-9]{1}|1{1}[0-2]{1}):(0[0-9]{1}|[1-5]{1}[0-9]{1}):(0[0-9]{1}|[1-5]{1}[0-9]{1})$/', $time)) {echo '<font color="blue">'.$time.' 正しい時刻</font><br>';} else {echo '<font color="red">'.$time.' 不正な時刻</font><br>';} } echo '<h4>時が不正</h4>'; hhiiss0112(':59:59'); hhiiss0112('0:59:59'); hhiiss0112('13:59:59'); hhiiss0112('30:59:59'); hhiiss0112('000:59:59'); hhiiss0112('1a:59:59'); echo '<h4>分が不正</h4>'; hhiiss0112('23::59'); hhiiss0112('23:0:59'); hhiiss0112('23:60:59'); hhiiss0112('23:000:59'); hhiiss0112('23:1a:59'); echo '<h4>秒が不正</h4>'; hhiiss0112('00:00:'); hhiiss0112('00:00:0'); hhiiss0112('00:00:60'); hhiiss0112('00:00:000'); hhiiss0112('00:00:1a'); echo '<h4>30時間チェック</h4>'; for($i = 0; $i <= 30; $i++){ $time = date('h:i:s',mktime(0+$i,0,0,date('n'),date('j'),date('Y'))); hhiiss0112($time); } echo '<h4>100分チェック</h4>'; for($i = 0; $i <= 100; $i++){ $time = date('h:i:s',mktime(0,0+$i,0,date('n'),date('j'),date('Y'))); hhiiss0112($time); } echo '<h4>100秒チェック</h4>'; for($i = 0; $i <= 100; $i++){ $time = date('h:i:s',mktime(0,0,0+$i,date('n'),date('j'),date('Y'))); hhiiss0112($time); } ?> |
実行結果
正規表現 時刻の書式の判別 書式 00:00:00~23:59:59
時が不正
:59:59 不正な時刻
0:59:59 不正な時刻
24:59:59 不正な時刻
30:59:59 不正な時刻
000:59:59 不正な時刻
1a:59:59 不正な時刻
分が不正
23::59 不正な時刻
23:0:59 不正な時刻
23:60:59 不正な時刻
23:000:59 不正な時刻
23:1a:59 不正な時刻
秒が不正
00:00: 不正な時刻
00:00:0 不正な時刻
00:00:60 不正な時刻
00:00:000 不正な時刻
00:00:1a 不正な時刻
30時間チェック
00:00:00 正しい時刻
01:00:00 正しい時刻
・・・・
・・
・
・
タグ(=記事関連ワード)
日付
投稿日:2012年3月14日
最終更新日:2017年04月01日
最終更新日:2017年04月01日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpsample-preg-time/trackback/