1

我们与许多法国客户打交道,这是我们注册表单上的一个问题。

如何告诉控件允许使用法语字符?

最终,正则表达式是 Microsoft 提供的默认表达式:

\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
4

4 回答 4

2

那么基本上正则表达式的结果不应该是不同的,无论是否有重音。(参见Regex 重音不敏感?供参考)

但除此之外 - 我不知道,口音在电子邮件中是有效的。

于 2012-08-29T14:57:54.763 回答
1

即使我无法使 Microsoft 提供的正则表达式工作,如果 \w 仍然不匹配特殊字符作为 èéà您可以替换任何\w实例[\wèéà]以使此正则表达式接受任何单词文字以及您提供的任何特殊字符(也许在域部分省略那些特殊字符,我想你永远找不到 some@test.còm)

也许它不在答案范围内,但您会花一些时间查看问题的答案以了解有关电子邮件验证的一些想法吗?

于 2012-08-29T15:00:47.190 回答
0

试试这个:

ValidationExpression="\w*[\éèà]+([-+.']\w+)*@\w*[\éèà]+([-.]\w+)*\.\w+([-.]\w+)*" />

其中 [\éèà] 是您的特殊字符“列表”。您还可以添加 /i ( [\éèà]/i ) 以忽略区分大小写。

但我建议在后端验证电子邮件:

public bool IsValidEmail(string email)
{
     bool isValidEmail = false;
     try
     {
         var validEmail = new MailAddress(email);
         isValidEmail = true;
     {
     catch (FormatException ex)
     {
         // The email has not a good format
     }
}
于 2012-08-29T14:54:56.983 回答
0

为法语电子邮件尝试上述多种方法,但所有这些方法都对我不起作用,我发现解决方案对我有用。

ValidationExpression="[À-ÿ\w]+([-+.'][À-ÿ\w]+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
于 2019-04-30T23:06:40.727 回答