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

邮箱正则校验[通俗易懂]”^\\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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 不是单组分组函数「建议收藏」

    不是单组分组函数「建议收藏」问题:一:SELECT tablespace_name, SUM(bytes) freeFROM dba_free_space不是单组分组函数原因: 1、如果程序中使用了分组函数,则有两种情况可以使用:程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来改为:  SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spa…

    2022年6月30日
    29
  • MongoDB简介

    MongoDB简介MongoDB简介

    2022年4月25日
    42
  • hive数据类型转换cast_sql数据类型转换convert

    hive数据类型转换cast_sql数据类型转换convert首先看一下类型转换表(来自https://www.iteblog.com/archives/892.html)我们可以用CAST来显式的将一个类型的数据转换成另一个数据类型。如何使用?CAST的语法为cast(valueASTYPE)。举个例子:假如我们一个员工表employees,其中有name、salary等字段;salary是字符串类型的。有如下的查询:SELECTname,sa…

    2022年9月21日
    2
  • Android四大组件Broadcast中注册广播registerReceiver流程源代码详解

    Android四大组件Broadcast中注册广播registerReceiver流程源代码详解在Android系统中,为什么需要广播机制呢?广播机制,本质上它就是一种组件间的通信方式,如果是两个组件位于不同的进程当中,那么可以用Binder机制来实现,如果两个组件是在同一个进程中,那么它们之间可以用来通信的方式就更多了,这样看来,广播机制似乎是多余的。然而,广播机制却是不可替代的,它和Binder机制不一样的地方在于,广播的发送者和接收者事先是不需要知道对方的存在的,这样带来的好处便是,系统的各个组件可以松耦合地组织在一起,这样系统就具有高度的可扩展性,容易与其它系统进行集成。在软件工程中,是非常强

    2025年10月27日
    2
  • webstorm 2020.3 格式化代码快捷键

    webstorm 2020.3 格式化代码快捷键1、在webstorm2020.3里查看格式化代码快捷键2、点击菜单栏【File】——>【Settings】3、在左上角的搜索栏中输入【keyMap】,在右边的搜索框中输入【format】,出现下面框架中,【Reformat】的快捷键【ctrl+alt+L】或者【ctrl+shift+f】4、我这只有ctrl+alt+L这个快捷键起作用图一:图二:(代码格式乱)图三:(选中代码用快捷键ctrl+alt+L格式化代码后)…

    2022年6月10日
    70
  • jmeter   如果(if)控制器使用,如果满足条件则执行操作。

    jmeter   如果(if)控制器使用,如果满足条件则执行操作。

    2021年9月18日
    71

发表回复

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

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