邮箱正则校验[通俗易懂]

邮箱正则校验[通俗易懂]”^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$”这个是一个企业级的程序里copy出来的。合法E-mail地址:1.必须包含一个并且只有一个符号“@”2.第一个字符不得是“@”或者“.”3.不允许出现“@.”或者.@4.结尾不得是字符“@”或者“.”…

大家好,又见面了,我是你们的朋友全栈君。

“^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$”

这个是一个企业级的程序里copy出来的。

合法E-mail地址: 
1. 必须包含一个并且只有一个符号“@” 
2. 第一个字符不得是“@”或者“.” 
3. 不允许出现“@.”或者.@ 
4. 结尾不得是字符“@”或者“.” 
5. 允许“@”前的字符中出现“+” 
6. 不允许“+”在最前面,或者“+@” 

正则表达式如下: 
———————————————————————– 
^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$ 
———————————————————————– 

字符描述: 
^ :匹配输入的开始位置。 
\:将下一个字符标记为特殊字符或字面值。 
* :匹配前一个字符零次或几次。 
+ :匹配前一个字符一次或多次。 
(pattern) 与模式匹配并记住匹配。 
x|y:匹配 x 或 y。 
[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。 
\w :与任何单词字符匹配,包括下划线。 
$ :匹配输入的结尾。
——————— 

String check = “^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$”;
 Pattern regex = Pattern.compile(check);
 Matcher matcher = regex.matcher(“dffdfdf@qq.com”);
 boolean isMatched = matcher.matches();
 System.out.println(isMatched);
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148337.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月15日 下午9:36
下一篇 2022年6月15日 下午9:46


相关推荐

  • javascript 数据类型

    javascript 数据类型js 真是一门有趣的语言 在 js 的世界中 数据有两种类型 一种是引用类型 一种是基本数据类型引用类型 在 js 的世界里 有一句话 所有的一切 都是 object 那么问题来了 object 是基本数据还是引用类型的呢 嘿嘿 卖个关子 后面再讲 先来讲讲对于引用类型的定义 引用类型值则是指那些保存在堆内存中的对象 意思是变量中保存的实际上只是一个指针 这个指针指向内存中的

    2026年3月18日
    2
  • TCP Nagle算法简述

    TCP Nagle算法简述TCP IP 协议中 无论发送多少数据 总是要在数据前面加上协议头 同时 对方接收到数据 也需要发送 ACK 表示确认 为了尽可能的利用网络带宽 TCP 总是希望尽可能的发送足够大的数据 一个连接会设置 MSS 参数 因此 TCP IP 希望每次都能够以 MSS 尺寸的数据块来发送数据 Nagle 算法就是为了尽可能发送大块数据 避免网络中充斥着许多小数据块 减少大量小包的发送 Nagle 算法的基本定义是任意时

    2026年3月16日
    1
  • 771服务器cpu性能排行,CPU114查询网

    771服务器cpu性能排行,CPU114查询网4485083264155WQ4201954736564128225WQ2201964606764128200WQ220197392991632155WQ420198392701632105WQ4201910358722448180WQ420191333158122465WQ2201914318681224105WQ22019183067912246…

    2026年1月31日
    8
  • 用EasyRecovery挽救数据

    用EasyRecovery挽救数据

    2021年8月18日
    71
  • 关于接入新浪微博第三方登录

    关于接入新浪微博第三方登录

    2022年3月8日
    76
  • uniapp中nvue与vue的区别

    uniapp中nvue与vue的区别uni app 是逻辑和渲染分离的 渲染层在 app 端提供了两套排版引擎 小程序方式的 webview 渲染 和 weex 方式的原生渲染 两种渲染引擎可以自己根据需要选 vue 文件走的 webview 渲染 nvue 走 weex 方式的原生渲染组件和 js 写法是一样的 css 不一样 原生排版的能用的 css 必须是 flex 布局 uni app 的 App 端内置了一个基于 weex 改进的原生渲染引擎 提供了原生渲染能力 在 App 端 如果使用 vue 页面 则使用 webview 渲染 如果使用 nvue 页面 nativevue 的缩写 则

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号