0

我对正则表达式很陌生,但我认为这是验证表单中输入的电子邮件地址的最佳方式。

我的正则表达式有效,除非输入的电子邮件地址中包含下划线字符 ( _)。

由于我缺乏使用正则表达式的经验,我不确定我应该在我的模式中的哪个位置添加有问题的字符以允许它:

Dim pattern As String = "^[-a-zAZ0-9][-.a-zA-Z0-9]*@[-.a-zA-Z0-0]+(\.[-.a-zA-Z0-0+)*\." & _
    "(com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$"

DreamInCode 上的另一个人也有同样的问题。他说他通过_在数字检查后添加来修复它。

我看到了 A-Z0-9,但我不确定哪个是数字检查...我在 Regex 中工作不多,所以我希望没有人介意指出在哪里添加_

提前致谢

4

3 回答 3

0

If you really want a possible fix to your regexp:

Dim pattern As String = "^[a-zA-Z0-9][-\._a-zA-Z0-9]*@[a-zA-Z0-9][-\.a-zA-Z0-9]*\.(com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$"

Anyway as explained in my comment this still validates ok for many wrong mails.

于 2010-08-31T18:02:23.403 回答
0

验证电子邮件的唯一方法是在此地址发送消息并等待回复。

一个简单的检查可以是测试其中是否有一个@。但是如果你想使用你的正则表达式,你必须_在 char 类中添加:[-a-zA-Z0-9_]

于 2010-08-31T12:20:34.737 回答
0

如果有人需要,这是防止在“@”之前使用下划线的方法,

^[a-zA-Z0-9][-\.a-zA-Z0-9]*@[a-zA-Z0-9][-\.a-zA-Z0-9]*\.(com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$

但我已经看到一些带有下划线的邮件地址..正如 M42 所说,发送电子邮件并等待他们激活他们的帐户将是一个不错的选择..但不会立即完成..

于 2013-02-11T09:04:11.610 回答