/* * Copyright 2002-2006,2009 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.opensymphony.xwork2.validator.validators; /** * <!-- START SNIPPET: javadoc --> * EmailValidator checks that a given String field, if not empty, * is a valid email address. * <p/> * <p/> * The regular expression used to validate that the string is an email address * is: * </p> * <pre> * \\b(^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+((\\.com)|(\\.net)|(\\.org)|(\\.info)|(\\.edu)|(\\.mil)|(\\.gov)|(\\.biz)|(\\.ws)|(\\.us)|(\\.tv)|(\\.cc)|(\\.aero)|(\\.arpa)|(\\.coop)|(\\.int)|(\\.jobs)|(\\.museum)|(\\.name)|(\\.pro)|(\\.travel)|(\\.nato)|(\\..{2,3})|(\\..{2,3}\\..{2,3}))$)\\b * </pre> * <!-- END SNIPPET: javadoc --> * * * <!-- START SNIPPET: parameters --> * <ul> * <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li> * </ul> * <!-- END SNIPPET: parameters --> * * * <pre> * <!-- START SNIPPET: example --> * <!-- Plain Validator Syntax --> * <validators> * <validator type="email"> * <param name="fieldName">myEmail</param> * <message>Must provide a valid email</message> * </validator> * </validators> * * <!-- Field Validator Syntax --> * <field name="myEmail"> * <field-validator type="email"> * <message>Must provide a valid email</message> * </field-validator> * </field> * <!-- END SNIPPET: example --> * </pre> * * @author jhouse * @author tm_jee * @version $Date$ $Id$ */ public class EmailValidator extends RegexFieldValidator { // see XW-371 public static final String emailAddressPattern = "\\b(^['_A-Za-z0-9-]+(\\.['_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z0-9]{2,})|(\\.[A-Za-z0-9]{2,}\\.[A-Za-z0-9]{2,}))$)\\b"; public EmailValidator() { setExpression(emailAddressPattern); setCaseSensitive(false); } }