正则表达式邮箱验证问题

AXING阿幸 2016-07-18 10:25:55
问题描述:
MAIL地址判定0
半角字符(a-z,A-Z,0-9,下划线”_”)
第一位為半角英文字符(a-z,A-Z)
有@
@和後面的[.]之間有半角英數字(a-z,A-Z,0-9,下划线”_”)
後面只能是下面幾種結尾(大小寫無視)
COM
COM.CN
CN
ORG
NET
2.6、abc@com.cn 该情况认定@com.cn不是合法的邮箱地址
自己写的代码:
if(str.matches("^([a-z0-9A-Z]+[_]?)+[a-z0-9A-Z]@([a-z0-9A-Z_]+\\.)+(?i)(com|cn|org|net|com.cn)$")){
System.out.println("true");}


现在主要是 @com.cn 也认定为正确的该怎么解决 求指导
...全文
140 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
AXING阿幸 2016-07-19
引用 2 楼 qq_35209952 的回复:
上午没看清楚问题,只是看到点就条件反射了 ╮(╯▽╰)╭ com.cn 的问题在于 匹配到了 xxx.cn的样式, 懒得动脑子..直接写死一个非com好了
是点前面不允许输入com 吗?
  • 打赏
  • 举报
回复
你不要把 "." 暴露出来呀 点号是被当做任意字符的 斜杠转义一下
  • 打赏
  • 举报
回复
上午没看清楚问题,只是看到点就条件反射了 ╮(╯▽╰)╭ com.cn 的问题在于 匹配到了 xxx.cn的样式, 懒得动脑子..直接写死一个非com好了
  • 打赏
  • 举报
回复
发帖
Java EE
加入

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
申请成为版主
帖子事件
创建了帖子
2016-07-18 10:25
社区公告
暂无公告