正则表达式邮箱验证问题

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 也认定为正确的该怎么解决 求指导
...全文
152 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
AXING阿幸 2016-07-19
  • 打赏
  • 举报
回复
引用 2 楼 qq_35209952 的回复:
上午没看清楚问题,只是看到点就条件反射了 ╮(╯▽╰)╭ com.cn 的问题在于 匹配到了 xxx.cn的样式, 懒得动脑子..直接写死一个非com好了
是点前面不允许输入com 吗?
逗泥丸的平方 2016-07-18
  • 打赏
  • 举报
回复
你不要把 "." 暴露出来呀 点号是被当做任意字符的 斜杠转义一下
逗泥丸的平方 2016-07-18
  • 打赏
  • 举报
回复
上午没看清楚问题,只是看到点就条件反射了 ╮(╯▽╰)╭ com.cn 的问题在于 匹配到了 xxx.cn的样式, 懒得动脑子..直接写死一个非com好了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧