Java验证邮箱格式是否正确的正则

网上很多落后或不合适的方法,现在整理一下,校验邮箱格式的通用方法,如果自己企业可以根据自身特点再扩展。
如下代码:

final static Pattern partern = Pattern.compile("[a-zA-Z0-9]+[\\.]{0,1}[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z]+");
	/**
     * 验证输入的邮箱格式是否符合
     * @param email
     * @return 是否合法
     */
    public static boolean emailFormat(String email){
    	 boolean isMatch = partern.matcher(email).matches();
        return isMatch;
    }
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Java 通用的邮箱验证正则表达式可以使用以下代码: ```java public static boolean isValidEmail(String email) { String emailRegex = "^(?=.{1,64}@)[A-Za-z0-9_-]+(\\.[A-Za-z0-9_-]+)*@" + "((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,6}$"; Pattern pattern = Pattern.compile(emailRegex); return pattern.matcher(email).matches(); } ``` 该正则表达式可以验证绝大部分常见的邮箱地址,包括带有国际化域名的邮箱地址。 该正则表达式的意义如下: - `^` 表示匹配字符串的开始。 - `(?=.{1,64}@)` 表示在 @ 符号前面匹配 1 到 64 个任意字符。 - `[A-Za-z0-9_-]+` 表示匹配邮箱地址中的用户名,用户名由字母、数字、下划线、减号组成,且至少出现一次。 - `(\\.[A-Za-z0-9_-]+)*` 表示匹配邮箱地址中的域名,域名由一个或多个由点号分隔的字符串组成,每个字符串由字母、数字、下划线、减号组成。 - `((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+` 表示匹配邮箱地址中的域名前缀,由字母、数字、减号组成,且长度为 1 到 63 个字符,不以减号开头或结尾,且由一个或多个由点号分隔的字符串组成。 - `[A-Za-z]{2,6}` 表示匹配邮箱地址中的域名后缀,由字母组成,且长度为 2 到 6 个字符。 - `$` 表示匹配字符串的结尾。 使用该正则表达式可以验证绝大部分常见的邮箱地址,但并不能保证验证所有的邮箱地址,因为邮箱地址的格式非常灵活和多变。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zihua2005

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值