hamada
bungu****@leo*****
2005年 5月 27日 (金) 08:58:16 JST
こんにちわ。 On Thu, 26 May 2005 19:31:42 +0900 Seiji Sogabe <sogab****@alles*****> wrote: > 私も同じ様なことを考えたのですが、1970/111/23とかいれると、やはり同様のエラーに > なってしまうので、 やっぱり例外処理が不十分ですかねぇ?(^_^;) 実は当方が最初に考えたのは「/で分離」、つまり list($y, $m, $d) = split('[/.-]', tep_date_raw($dob)); if (checkdate($m, $d, $y)) { ↑こんな感じ(上記はついでに「-」「.」区切りにも対応)だったんすが、 ・判定条件にも手を入れなきゃいけない ・変数名がダブってないかのチェックがめんどくさい ということで、1行で済む「手っ取り早い方法」で済ましちゃったというような 経緯があったりなかったり…(^^;; > 上記のように、正規表現があっているかわかりませんが、最初からYYYY/MM/DD以外は通常のエラーで > はねるほうがいいと思います。 「2005/123/456」はデータ的に間違ってます(お客さまの意図してる「正しいデー タ」が解らない)のでハネるべきだと思いますが、「2005/1/2」は 「アルゴリズム的には間違ってるがデータとしては正しい」 訳ですから、これまでハネちゃうのはちょっと不親切な気も。 はまだ