質問: メールアドレス入力チェック 毎回初心者な質問で申し訳ないです。 strutsを使ってフォーム作成中なのですが、validatorではなくjavaの中でエラーチェックをしています。 入力の有無でのエラーチェックはできたのですが、メールアドレスチェックができません。 自分としては 「1文字以上の半角英数記号」@「1文字以上の半角英数記号」 じゃなかったらエラーを返すようにしたいと思い以下のように記述しました。 if (mail != "[\\d[a-za-z]*]+@[\\d[a-za-z]*]"){ errors.add("mail", new actionmessage("errors.mail")); } 動かしてみると何を入力してもエラーがかえるようになってしまいました。 正しい記述をご存知の方、ご教授ください。よろしくお願いいたします。
回答: 正規表現を使って比較をするときは、matchesメソッドを使います。 例えば、 if (!mail.matches("\\p{alnum}+@[\\p{alnum}.]+")){ // [1文字以上の英数字]@[1文字以上の英数字と.]でないとき } 参考url:http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/string.html#matches(java.lang.string)