• ベストアンサー

正規表現のチェックについてお聞きしたい事があります

正規表現のチェックについてお聞きしたい事があります DBデータを修正するのにテキストボックスから数値を入力して int型で受け取り、SQLを投げる処理を作成しているのですが この入力された値が数値である事をチェックする場合 正規表現を使って、数値以外である場合にはねる方法か Try~catch文を使って数値以外である場合にはExceptoinを受け取って エラー処理を記述する方法か、どちらの方がより推奨されますか?

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

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

  • ベストアンサー
  • WDY
  • ベストアンサー率27% (121/436)
回答No.1

プロジェクトで統一されていると思うので合わせた方がいいと思います。 もしこれから決めるのでしたら私はExceptionで拾った方がいいと思います。 Try~catchはエラーが起きた時点でcatchするのでそれ以降の処理が実行されません。 その為、条件分岐で行うより早く処理が出来ると私は思います。(どちらが早いかチェックしてません) それと呼び出すJavaを大きくTry~catchすれば共通部品にしやすいと思います。

histoneple
質問者

お礼

なるほどです。 共通部品化はなるべく意識した方が良いと聞いているので 非常に参考になります。 丁寧な回答、どうもありがとうございました。

その他の回答 (1)

  • kotoby2003
  • ベストアンサー率15% (280/1755)
回答No.2

数値かどうかくらいなら、わざわざ正規表現は使いませんね。 また、正規表現、使う使わないに限らず、入力例外、みたいな例外をスローする仕組みに統一することをお勧めします。 と、文章で表現するのは難しい・・・。意図が通じるかどうか。 独学で勉強している最中なのか、仕事の上で開発しているのかわかりませんが、できれば、Strutsなどフレームワークを使用することをお勧めします。そうすれば、こういうことに悩むことは少なくなると思います。 ご自分で基準が作れないなら、すでにある基準を使うとよいです。

histoneple
質問者

お礼

 初学者に近い状態ですので、おそらく意図は半分くらいしか理解できていないと思います。 ボクの方の力不足でせっかくのアドバイスが十分に活かせなく、本当に申し訳ありません。 Strutsに関しても、まだ敷居が高く感じていますが 「すでにある基準を使うとよい」というアドバイスは今後の習得において 非常に有用なアドバイスを頂けたと思います。 本当にどうも有難うございます。

関連するQ&A

  • 正規表現を使った入力値のチェック

    こんにちは、yukimura1024です。 perlでブラウザのフォームに入力された値をチェックしたいのですが、 入力された値が「全角文字のみか」と「全角カタカナのみか」 という2種類のチェックのしかたがわかりません。 「数値のみか」のチェックは正規表現を使ってできたのですが、 これと同じように正規表現を使って、この2つの全角チェックをする 方法はないでしょうか? 数値チェックは以下の方法でやっています↓ if ($str_txt_yuubin =~ /[^0-9]/) { print "「郵便番号」を半角数字で入力してください。<br>\n"; } ご存知の方がいましたら教えていただけると助かります。 よろしくお願い致します。

    • ベストアンサー
    • Perl
  • ACCESS VBAでの正規表現チェックについて

    いつもお世話になっています。 現在ACCESS2003で開発を行っているのですが、文字の入力チェックで悩んでいます。 正規表現チェックを使用し 半角英数字と"-", "_", "!", "@", "+", "/", "*"以外の文字が入力されればエラーメッセージを表示させようとしているのですが、うまく動作しません。 ●現在の処理 '検証結果フラグ b_error = True '入力許可文字列 s_ok_text = "*[”正規表現”]*" '入力文字列が空で無い場合はチェック処理を実行する If Not IsNull(”入力文字”) Then If ”入力文字” Like s_ok_text Then '入力許可文字列以外が含まれていた場合はエラーを返す b_error = False End If End If s_ok_textに入力可能文字を設定しているのですが、上記入力許可文字の設定の仕方がわからない状況です。 正規表現のチェックに詳しい方がいましたら、上記チェックの方法をご教授頂きたく思います。 宜しくお願い致します。

  • 正規表現

    正規表現で 数値と半角記号(!#$%()~|-^@[;],./`{+*}_)が入っているというものを表現したいのですが、、、 下記のような正規表現をすると、エラーになってしまいます。何かよい方法はありませんか? ^[a-zA-Z0-9\-_!#$%()~|-^@[;],./`{+*}_]*$ 又、携帯電話のチェックをしたいのですが、 1文字以上の文字列があってというような処理にしたいのですが、何かよい方法はないでしょうか? ereg( "@docomo\.ne\.jp$", $email )

    • ベストアンサー
    • PHP
  • 正規表現によるチェック

    wikiのような掲示板のサイトを作っているのですが、 フォームへの入力値をチェックするところで、困っています。 正規表現を使えばよさそうなのですが、正規表現がよく理解できていないので、申し訳ないのですが、教えてください。 フォームへの入力が #ref(ファイル名1) #ref(ファイル名2) .... という形式に合致しているかをjavascriptでチェックし、合致しない場合はエラーを出したいと考えています。 ここで、ファイル名は 18桁の数字+拡張子 (jpg、pjpeg、gif、png、x-png) から成ります。 以上、すみませんが、ご教授の程よろしくお願いいたします。

  • 正規表現を使った小数入力チェック方法について

    Javaのjava.util.regex.Matcherクラスと java.util.regex.Patternクラスを使用して正規表現を使った 数値の入力チェックを行いたいと思っています。 行いたいチェックは下記の通りです。 【内容】 整数5桁以内で入力 小数部は1桁、ただし小数部は任意入力 例: 1234 => OK 12345 => OK 123456 => NG 12345. => NG 12345.1 => OK 12345.12 => NG 色々考えてみましたが 小数部が任意入力の事もあり、 うまく実現できずに困っています。 このような場合どのような正規表現を組めば良いでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • 正規表現でメタ文字チェック

    正規表現でメタ文字チェック 正規表現で半角メタ文字が入力されていた場合、エラーにしたいと思っています。 /!|"|#|%/ しかし、上記の書き方だと、すべてのメタ文字を書かなければいけないため あまり見栄え的によくないのですが、何か他に良い方法はありませんでしょうか? お分かりになる方よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 正規表現でSQLのエスケープ

    C# 2.0 & SQLServer2000 でプログラムを作成しています。 通常のADOではなく、サードパーティーのDBコンポーネントを使ってDB周りはやっているのですが、その際に SQL 文は自分でエスケープしてやる必要があることに後から気付き、正規表現でSQL文をまとめてエスケープすることはできないかと考えています。 正規表現を使って実現したい事は以下です。 ・文字列中の ' (シングルクォート)を '' (シングルクォート2つ)に置換 ・ただし、 where field = 'xxxx' のように文字列を間に入れている場合の ' は置換しない WEBなどで調べても見つかりませんでした。どなたか正規表現に強い方、教えてください。

  • 正規表現

    正規表現で身長、体重の入力チェックをしたいのですが、 うまくいきません。 ↓がんばったのですが。。 /^\d\d\d?\.?\d*$/ 整数部3桁まで、小数部はDBで1桁に丸めるので何桁でもOKです。 どなたかアドバイスをお願いします。

  • 正規表現

    正規表現について勉強中です。 先頭2文字をたとえばYQで入力させたい場合は どうマッチさせればよいのでしょうか? if string.match(/^YQ|[0-9]/) == null { nullの場合の処理 } としていますが、うまくいきません。 正規表現についてはまったくの初心者ですので、 笑わないでくださいね。

  • 正規表現の入力チェック

    正規表現の入力を拒否するJavaScriptを作成したいのですが、match処理ではうまくいきませんでした。ネットでも調べたのですがなかなか参考になるものがありませんでした。どなたかご存知のかたがいらっしゃいましたら、ご教授ください。