Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 电子邮件正则表达式验证_Java_Regex - Fatal编程技术网

Java 电子邮件正则表达式验证

Java 电子邮件正则表达式验证,java,regex,Java,Regex,如何限制电子邮件地址中的数字。我在下面试了试,但没用。我的电子邮件应该接受字母数字、点、连字符和下划线,后跟“@AnyDomain.com”。但它不应该只接受像这样的数字。”112233@gmail.com“ Pattern regexpatern=Pattern.compile(“^[(a-zA-Z0-9-\\\\\\\\\\\\\\.!\\D)]+@[(a-zA-Z)]+\.[(a-zA-Z)]{2,3}$”; Matcher regmatcher=regexpatern.Matcher(电

如何限制电子邮件地址中的数字。我在下面试了试,但没用。我的电子邮件应该接受字母数字、点、连字符和下划线,后跟“@AnyDomain.com”。但它不应该只接受像这样的数字。”112233@gmail.com“

Pattern regexpatern=Pattern.compile(“^[(a-zA-Z0-9-\\\\\\\\\\\\\\.!\\D)]+@[(a-zA-Z)]+\.[(a-zA-Z)]{2,3}$”;
Matcher regmatcher=regexpatern.Matcher(电子邮件);
  • 堂_123@gmail.com->有效
  • 12345@gmail.com->无效

您可以使用此正则表达式验证您的条件

^\w*?[a-zA-Z]\w+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z

验证上述条件。

我修改了问题中提供的正则表达式

[a-zA-Z]+[(a-zA-Z0-9-\\_\\.!\\D)]*[(a-zA-Z0-9)]+@[(a-zA-Z)]+\.[(a-zA-Z)]{2,3}

我在开头添加了[a-zA-Z]+以确保电子邮件地址不会以数字开头。如果电子邮件地址可以以特殊符号开头,请确保在第一个块中对其进行更新。

将正则表达式用于电子邮件可能会有问题。电子邮件并不像你想象的那么简单——有很多有效字符。理想情况下,您应该让浏览器执行此操作
输入[type=“email”]
,并向您的用户发送一封激活电子邮件,以证明电子邮件地址有效,但我知道可能需要在服务器上验证地址

这里有一些有用的信息:

还需要接收吗?

根据W3C用来验证
输入[type=email]
的正则表达式:

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
所以你可以用这个,去掉数字部分:

/^[a-zA-Z.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
玩一玩

下面是一个演示:

输入{边框:10px实心红色;}
输入:有效{边框颜色:绿色;}

下面的正则表达式每次用于电子邮件验证时都适用于我。然而,这并不能解决所有的问题,因为电子邮件接受的字符范围很广,最近还接受不同的格式如果您使用电子邮件进行身份验证,我建议您发送验证电子邮件以确认或添加额外的身份验证模式。

/^[a-zA-Z.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
基本上,验证正则表达式的优势在于它可以准确捕获的案例数量,同时检查不符合性(伪造)。每个字符序列在整个验证过程中都有一个目的。您可以了解有关正则表达式的更多信息


我希望这有帮助。快乐的编码

运行两个正则表达式。第一个用于捕获常见模式,第二个用于过滤所有数字。为什么要验证电子邮件地址(使用正则表达式)?“@”字符前面的数字有什么特殊之处?如果您想检查电子邮件是否有效,请发送电子邮件确认。请也接受撇号!这里回答了你的部分问题