У меня есть средство проверки регулярных выражений для электронных писем в .NET 2.0, которое использует проверку на стороне клиента (javascript).
Текущее выражение: "\ w + ([- +. '] \ w +) @ \ w + ([-.] \ W +) . \ W + ([-.] \ W + )", который работает для моих нужд (или так я думал).
Однако у меня возникла проблема с апострофами, когда я скопировал / вставил адрес электронной почты из Outlook в текстовое поле форм
Chris.O'Brian@somerandomdomain.com
Вы можете видеть, что апостроф - это другой персонаж, чем тот, который можно получить, если бы я просто набрал текстовое поле
'против' - но оба апострофы
Хорошо, подумал я, давайте просто добавим этот символ в строку проверки, чтобы я получил
"\ ш + ([-. + ''] \ W +) @ \ W + ([-.] \ W +) \ ш + ([-.] \ W +)."
Я копирую, вставляю «специальный» апостроф в выражение проверки, затем набираю электронное письмо и использую тот же элемент буфера обмена, чтобы вставить апостроф, но проверка все равно не проходит.
Апостроф не выглядит одинаково в коде .net файла, как форма .net, и поскольку проверка по-прежнему не выполняется, я предполагаю, что он считается другим символом из-за некоторого кодирования .cs исходный файл?
Это звучит правдоподобно, кто-то еще сталкивался с такой же проблемой?
Спасибо