在C#中验证并更正无效的emailid格式

时间:2012-09-04 07:52:47

标签: c# validation

我们是否有办法在C#中验证和更正无效格式的电子邮件。我有一个只能验证但不能纠正的功能。有些电子邮件如“abc@def.com”。可以纠正。我从数据库中取出所有的emailid并发送邮件,如果我只是删除无效的电子邮件,那么这个人可能会丢失信息,所以不要删除我想到纠正mailid并给他发邮件。 有办法吗?还是有这样做的功能。??? 提前谢谢。

3 个答案:

答案 0 :(得分:1)

如果您将电子邮件地址作为字符串,则可以操作字符串。在您的示例中,这将删除尾随时段。除了这个简单的例子,我建议你仔细考虑这将是多么有用。背景是什么?您能否将邮件地址传递给用户以获取正确的地址,而不是您的最佳猜测?
添加代码将澄清您的问题。从您的问题来看,我不知道为什么您认为您只能验证,而不是更正邮件地址字符串。

答案 1 :(得分:0)

您可以检查邮件域是否存在,例如this,您可以检查电子邮件是否以无效的字符结尾,如“。”“,”< / strong>并删除此项(如果找到),但您无法通过尝试更改每个字符并检查电子邮件是否存在而无法真正“更正”错误的电子邮件,并且您可能找不到所需的字符串每次更改都会使您的电子邮件地址成为您真正希望达到的地址。

答案 2 :(得分:0)

没有。没有办法做到这一点。你可能有一个内置的猜测系统,可以解决常见的错误。

例如,如果我将电子邮件ID输入为abc@gmali.com,您可以将其更改为abc@gmail.com。这仍然不能保证电子邮件现在是正确的。

假设我的电子邮件ID为abc@gmail.com,并故意输入asd@gmail.com。现在,你无法纠正它。出于同样的目的,如果我输入asd@gmial.com,您的代码可能会将正确的电子邮件ID设为asd@gmail.com,但仍然不正确。

基本上您正在寻找的是客户端验证。你有什么前端,放置验证,检查电子邮件地址是否正确按语法。要验证用户是否已发送真实电子邮件,请使用激活链接向指定地址发送邮件,并要求他们在使用applciation时单击该邮件。

编辑:

如果您只需要格式化数据库中的电子邮件,可以使用查询/外部可执行文件检查常见错误。这些将根据有效格式验证数据,然后可以更改。你有什么选择,技术明智,这样做?