如何使用Regex接受电子邮件地址中的点?

时间:2011-08-25 09:04:25

标签: regex

我有这个正则表达式[a-z0-9]*@metu\.edu,它使用HTML5检查用户输入用户。我想在用户名中接受一个点(。),只有一个点。如:herp.derp@metu.edu

5 个答案:

答案 0 :(得分:3)

使用以下

^[a-z0-9]+[.]?[a-z0-9]+@metu\.edu$

<强> DEMO

答案 1 :(得分:3)

[a-z0-9][a-z0-9.]*@metu\.edu\.tr

这将需要至少一个(小写字符或数字)然后(小写字符或数字或点),因此电子邮件地址不能以单个点开头或仅由单个点组成。但是,您应该重新考虑使用此正则表达式进行电子邮件验证,因为可接受的电子邮件地址包含更多案例( - ,+,_等)(并且不要忘记大小限制)

答案 2 :(得分:1)

在字符范围中添加一个点:[a-z0-9.]*

要在名称的开头或结尾排除点,并且只允许一个点使用多个字符类:

[a-z0-9]+\.?[a-z0-9]+@metu\.edu

答案 3 :(得分:1)

通常,电子邮件地址不应与正则表达式匹配。但是,在您的特定情况下,您似乎有一个与之匹配的独特模式。

[a-z0-9]+(\.[a-z0-9]+)?@metu\.edu

假设单点是可选的,如果它是必需的,请使用:

[a-z0-9]+\.[a-z0-9]+@metu\.edu

答案 4 :(得分:0)

您不应该尝试使用正则表达式自己解析电子邮件地址,因为您将失败。请考虑一下:http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html

我通常做的是接受任何字符串作为电子邮件。如果它仅用于用户注册或其他任何内容,则实际上无需验证它。发送电子邮件时会失败,然后你知道这是错误的。