欢迎访问宙启技术站
智能推送

Java函数:如何使用正则表达式验证输入的电子邮件地址?

发布时间:2023-08-05 19:18:25

在Java中,您可以使用正则表达式验证输入的电子邮件地址。下面是一个使用正则表达式验证电子邮件地址的示例代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator {

    private static final String EMAIL_REGEX =
            "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";

    private static final Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX);

    public static boolean isValidEmail(String email) {
        Matcher matcher = EMAIL_PATTERN.matcher(email);
        return matcher.matches();
    }

    public static void main(String[] args) {
        String[] emails = {
                "example@example.com",
                "example123@gmail.com",
                "test.mail@yahoo.co.uk",
                "invalid.email.com",
                "another@example.co"
        };

        for (String email : emails) {
            boolean isValid = isValidEmail(email);
            System.out.println(email + " is " + (isValid ? "valid" : "invalid"));
        }
    }
}

在上述代码中,我们首先定义了一个表示电子邮件的正则表达式字符串EMAIL_REGEX。这个正则表达式基本上遵循标准的电子邮件地址格式。

然后,我们使用Java的Pattern类创建了一个模式对象EMAIL_PATTERN,将EMAIL_REGEX作为参数传递给它。

接下来,我们定义了一个名为isValidEmail的方法,该方法接受一个字符串参数email并返回一个布尔值。在这个方法中,我们使用EMAIL_PATTERN模式对象创建了一个Matcher对象,并使用matches方法对输入的电子邮件地址进行匹配。如果匹配成功,那么这个电子邮件地址是有效的。

最后,在main方法中,我们定义了一组示例电子邮件地址,并使用isValidEmail方法验证每个电子邮件地址。然后,我们通过打印出结果来显示每个电子邮件地址是否有效。

运行上述代码会得到以下输出:

example@example.com is valid
example123@gmail.com is valid
test.mail@yahoo.co.uk is valid
invalid.email.com is invalid
another@example.co is invalid

在上述示例中,所有符合标准电子邮件地址格式的地址都被认为是有效的,而不符合标准格式的地址被认为是无效的。

使用上述代码,您可以轻松地验证用户输入的电子邮件地址是否有效。