【发布时间】:2010-11-30 01:25:23
【问题描述】:
我有一个用于 .NET 2.0 中电子邮件的正则表达式验证器,它使用客户端验证 (javascript)。
当前表达式为 "\w+([-+.']\w+)@\w+([-.]\w+).\w+([-.]\ w+)" 这可以满足我的需要(或者我认为是这样)。
但是,当我将电子邮件地址从 Outlook 复制/粘贴到表单文本字段中时,我遇到了撇号问题
Chris.O'Brian@somerandomdomain.com
您可以看到撇号与我只是在文本框中输入时得到的字符不同
' vs ' - 但都是撇号
好吧,我想,让我们把这个字符添加到验证字符串中,这样我就得到了
"\w+([-+.'']\w+)@\w+([-.]\w+).\w+([-.]\w+)"
我将“特殊”撇号复制粘贴到验证表达式中,然后键入电子邮件并使用相同的剪贴板项目粘贴撇号,但验证仍然失败。
撇号在文件后面的 .net 代码中看起来与 .net 表单不同,并且由于验证仍然失败,我假设由于 .cs 的某种编码,它被认为是不同的字符源文件?
这听起来有道理吗,其他人也遇到过同样的问题吗?
谢谢
【问题讨论】:
标签: c# .net regex validation