当前位置: 首页 > 知识库问答 >
问题:

正则表达式电子邮件特殊字符验证

翁硕
2023-03-14

我需要一个带有特殊字符的正则表达式电子邮件验证。

规则:

  • 本地部分可能有2个或更多字符长度
  • 本地部分包含特殊字符

当前正则表达式:

^[a-zA-Z0-9]+([\w\.\'\!\#\$\%\&\*\+\-\/\=\?\^\`\{\|\}\~])+([a-zA-Z0-9])+@(([a-zA-Z0-9\.\-])+.)+([a-zA-Z0-9]{2,8})+$

测试模式:

eee123@eee.eee > TRUE
e#e@eee.eee > TRUE
e#2@eee.eee > TRUE
ee@eee.eee > FALSE
e2@eee.eee > FALSE
#e@eee.eee > FALSE
e#@eee.eee > FALSE

我需要一个正则表达式,它将验证为:

eee123@eee.eee > TRUE
e#e@eee.eee > TRUE
e#2@eee.eee > TRUE
ee@eee.eee > TRUE
e2@eee.eee > TRUE
#e@eee.eee > FALSE
e#@eee.eee > FALSE

共有2个答案

昌琪
2023-03-14

当你得到答案时,请注意,你不必逃避方括号中的所有内容,这意味着:

^
[a-zA-Z0-9]+
([-.'!#$%&*+-\/=?^`{|}~]*)
([a-zA-Z0-9])+
@
([a-zA-Z0-9]+\.)+
[a-zA-Z0-9]{2,8}
$

同样,它的可读性也要高得多。此外,*应该在括号中。

缑兴贤
2023-03-14
^[a-zA-Z0-9]+([\w\.\'\!\#\$\%\&\*\+\-\/\=\?\^\`\{\|\}\~])*([a-zA-Z0-9])+@([a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,8}$

用*或替换?在<代码>([\w\.\'!\\$\%\

 类似资料:
  • 问题内容: 有人可以向我解释这个Java Regex吗? 此正则表达式用于验证 电子邮件地址 。 问题答案: 如今,验证电子邮件地址被认为是一种不好的做法(停止使用regex验证电子邮件地址),尤其是使用问题中的表达式时。例如,这是一个更完整的表达式。 至于此表达式,我们将其分为几部分: 匹配字符串的开头 匹配列表中的至少一个字符 非捕获(请参阅backreference)组,可以重复0..n次,

  • 问题内容: 首先,我知道不建议使用正则表达式发送电子邮件,但我必须对此进行测试。 我有这个正则表达式: 在Java中,我这样做: 但是,无论电子邮件是否格式正确,正则表达式都会失败。Eclipse内部的“查找并替换”功能可以在同一个正则表达式下正常运行。 任何想法? 问题答案: FWIW,这是我们用来验证电子邮件地址的Java代码。正则表达式非常相似: 工作相当可靠。

  • 问题内容: 我正在使用以下正则表达式 它接受#@#.com作为有效电子邮件。我应该使用什么模式? 问题答案: 您应该使用apache- commons电子邮件验证程序。您可以从此处获取jar文件。 这是一个简单的用法示例:

  • 我试图为密码字段创建一个验证,它只允许字符和 时有什么区别,以及哪些字符来自

  • 所以,我发现“name@.com.com”是一个有效的电子邮件地址,还有更多类似这样的子域。所以现在我希望用户不要进入子域。是否有任何REGEX验证电子邮件地址只在一个域,如“name@gmail.com”,而不是多个域或子域。 我也尝试了不同的google Regex并将其实现到项目中,但出现了同样的问题。 请帮我一下。 谢谢

  • 问题内容: 我正在尝试编写一个正则表达式来屏蔽电子邮件地址。下面的例子。 输入:john.doe@example.en.com 输出:j*******@e*********.com 我已经尝试了以下方法,但似乎无法正常工作。 正则表达式: 输出:j * @ example.en.com 正则表达式: 输出:j ******。com 任何帮助,将不胜感激。 演示 问题答案: ⇒(当前问题)- (请参