• ベストアンサー

jsp 入力された文字が日付かどうかのチェック

はじめまして、jspで質問があります。 入力された文字が日付かそうでないかのチェックをしたいのですが、 何か良い方法はありませんか? どなたかアドバイスいただけませんか? よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

えーとですね。 1.日時入力形式がどんな形式なのか(YYYYMMDDとかYYYY/MM/DDとかYYYY年MM月DD日、何年から何年まで入力を許可するとかのルール) 2.必要に応じて入力された日付の整形 3.2で整形した日時が実在する日時かのチェック 設計がどうなってるかわからないので回答もあんまり正確にできないのですよ。 例えば、 最小年 1900/01/01 最大年 2099/12/31 まで、入力される形式はYYYY/MM/DD(YYYYMMDDの場合も許可)とする。 とするならば 1.入力値を正規表現でチェック 2.1のチェックを通過したならば今度は日付が有効範囲内なのかチェック(javaならcalendarに入力値セットしてみてエラーが出るかどうかでチェックするとか) といった具合です。

aramoko
質問者

お礼

とてもわかりやすいご回答ありがとうございます。 正規表現でチェック後にcalendarに入力値セットに入力値セットして チェック、このやり方でいけそうです。 どうもありがとうございました。

その他の回答 (1)

回答No.1

クライアントサイドならjavascriptでチェック(正規表現とか) サーバーサイドならjava-servletでチェック(こちらも正規表現とか) Calendar型のオブジェクトにに年月日をセットしてみてエラーじゃなきゃOKとか乱暴な手段もないでもないですが・・・

aramoko
質問者

お礼

はじめましてProKaseifuさんご回答ありがとうございます。 正規表現を使ってみましたが、YYYYMMDDといった形で 一致させたいのですが、どうもこの対応はで出来ないようです。 なにかいい方法ないですかねぇ。

関連するQ&A

  • 日付の入力チェック

    お疲れ様です。 c++の日付の入力型のチェックを行いたいです。 具体的には文字が入力されて その型が(yyyy/mm/dd)の型で存在するかをチェックします。 数字だけの入力なら標準クラスにありそうなのですが「/」を含みチェックは行えないのでしょうか? また標準クラスにあるのならば「try~catch」を使用してエラーを受け取れる方法があったら教えてください。 お願いします。

  • JSPからYYYYMMDDで日付入力する

    こんにちは。 JSPからサーブレット・Beanを使うプログラムを作っております。 調べてみたのですがわからなくなってきてしまいました。 ぜひご教授ください。 JSPから日付を入力し、DBに日付データを挿入します。 今はBeanから下のようなSQL文で、JSP画面からはフォームに「2008-08-20」と入力して値を挿入しています。 sql = insert into テーブル名 values('?') できればこのフォームに「20080820」と入力させたいと思っています。 そのためにはBeanでSQL文を発行する際に日付を分けて、「2008」+「-」+「08」+「-」+「20」のように間に「-(ハイフン)」を入れてやればいいのはわかるのですが、そのためにはどのようにすればよいか教えてください。 「20080820」を分けて、sql1・sql2・…に入れ、それを実際のSQL文発行の際にsql1+"-"+sql2+…とやるのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Java
  • 入力された日付けのチェック

    ユーザが入力した日付けデータをチェックする 方法をしりたいのですが。 例えば、「2/31」 はNGにする。など

    • ベストアンサー
    • Perl
  • 日付のチェック

    こんにちは! もし簡単な質問でしたらすみません。 JavaScriptで 入力した文字列が"2000/09/10"などの日付の書式になっているか どうか調べる関数ってあるんでしょうか? VBScriptでいうIsDate関数みたいな。 もし無い場合どのようなプログラムを組めばうまく日付かどうか チェックすることが出来るのでしょうか? 又、<SCRIPT>でJavaScriptを定義した中からVBScriptを使用すること は可能なのでしょうか? ご存知の方教えて下さい。

  • jspの文字化けについて

    こんばんは。 今日、入力フォームに入れた情報をMysqlに格納するjspを作りました。ボタンを押すとSQLに入るのですが、ここでSQL側で中身を 見てみると文字化けしています。 これを改善する方法をご存知の方ご教授いただけませんでしょうか? また、jspのほうの送信データの文字コードを変更する方法につきましてもご存知の方いらっしゃいましたら アドバイスをお願いいたします。 今はWindows-31Jです。

  • jspで文字化け

    jspでホームページのフォーム上で入力された文字列を取得し、その内容をMYSQLに登録しているのですが、ローマ数字が入力された場合文字化けします。 なので、INSERT文でエラーになります。 ローマ数字が機種依存型文字だということはわかったのですが、文字化けせずに取得する方法はありますか? 一応パラメータ取得時の request.setCharacterEncoding("Shift_JIS"); は記述しています。 もし文字化けが解消できないようでしたら、 入力チェック等でローマ数字が入力されているときには、 データベースに登録にいかないように、逃げることも 考えているのですが、その方法はありますか? よろしくお願いします。

  • JSP/サーブレットで一般的な入力チェックの仕組みについて

    JSP/サーブレットで一般的な入力チェックの仕組みについて いつもお世話になります。 JSP/サーブレットでWebシステムを作っています。 特別なフレームワークは使っておらず、素のJavaだけで作っているのですが、JSP/サーブレットでWebシステムを開発する場合で、入力チェックでエラーがあった場合、 下記のような動作を実現したいのですが、一般的にはどのような作りになるのでしょうか。 ・画面の入力内容はそのまま ・メッセージ領域にエラーメッセージを表示 ・エラーがあった項目を赤くする これらはJavaScriptでしか実現する方法は無いように思っていますが、できればJavaScriptは 使用しない方向で、最悪3番目はできなくてもよいです。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • 日付のチェックなのですが

    日付の入力チェックについて教えてください。 アクセス2000のVBでプログラムを作っているのですが、 二つのテキストボックスがあり日付をFrom、Toで入力してもらい その入力された期間が1ヶ月以上だったらエラーとしたいのですがいい方法はないでしょうか? 入力形式は2001/01/01という形です。 月またがりの一ヶ月以内(2001/01/31~2001/02/10等)はエラーとはしません。 すみませんがどなたか良い方法をご存知でしたら教えて下さると助かります。 よろしくお願いします。

  • 入力された文字を1文字ずつチェックする方法

    入力された文字列内に、ある特定の文字が存在するかチェックをしたいと思っています。 例えば、 "abcde~fghi" というように入力された場合、 入力された文字列の中に~(チルダ)があったらエラーにするというような感じです。 1文字ずつチェックできる方法を教えていただきたいと思います。 よろしくお願いします。

  • 日付型の入力値チェック

    こんにちは。 下記のようなフォーマットで日付型のチェックをしたいと 思っています。最低限(1)YYYYが入力されていればOKで、 最高だと(8)YYYY-MM-DDThh:mm:ss.sTZDまで入力可能です。 この日付が妥当であれるかどうかの判定はどのように するのが良いでしょうか? YYYY[-MM[-DD[Thh[:mm[:ss[.s[TZD]]]]]]] (1)YYYY (2)YYYY-MM (3)YYYY-MM-DD (4)YYYY-MM-DDThh (5)YYYY-MM-DDThh:mm (6)YYYY-MM-DDThh:mm:ss (7)YYYY-MM-DDThh:mm:ss.s (8)YYYY-MM-DDThh:mm:ss.sTZD ちょっと考えたのは、まず、長さを見て各文字列を パースして各場所の数値の妥当性をチェックって 言うものです。これでも出来そうな気もしますが、 他にも良いやり方などありましたら、 ご教示宜しくお願い致します。

    • ベストアンサー
    • Java

専門家に質問してみよう