Как проверить электронную почту в c # - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь подтвердить поле электронной почты.И у меня есть регулярное выражение для электронной почты

/ ^ [a-z0-9 ._% + -] + @@ [a-z0-9 .-] +. [Az] {2, 4} $ /

В Visual Studio мой код

  Email:<br>
        <input type="text" ng-model="Email" id="txtEmail" ng-pattern="/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/" name="Email" placeholder="Email" required>
        <span ng-show="myForm.Email.$error.pattern">Please enter valid Email!</span>
        <span ng-show="myForm.Email.$error.required">*</span><br>

Произошла ошибка enter image description here

Ответы [ 3 ]

3 голосов
/ 09 марта 2019

Проверка электронной почты является популярной проблемой, и каждый шаблон регулярного выражения, который вы найдете, не охватывает все случаи.Лучше всего попытаться отправить любое сообщение на это письмо, или вы можете использовать System.Net.Mail.MailAddress class

        try
        {
            var email = new System.Net.Mail.MailAddress(value);
        }
        catch (FormatException)
        {
            //handle it here
        }
3 голосов
/ 09 марта 2019

Вы говорите, что используете C # и MVC.Вы можете использовать встроенную проверку;проверка электронной почты поддерживается с помощью атрибута в поле в классе модели:

[EmailAddress(ErrorMessage = "The email address is not valid")]
public string Email { get; set; }

Атрибуты находятся в пространстве имен System.ComponentModel.DataAnnotations

Для представления Razor необходимо что-то вроде:

<div class="control-group">
    @Html.ValidationMessageFor(m => m.Email)
    @Html.LabelFor(m => m.Email, new { @class = "editor-label control-label" })
    <div class="editor-field controls">
        @Html.MbrraceTextBoxFor(m => m.Email, new { @class = "input-xlarge" })
     </div>
</div>

Существует множество вариантов стилей отображения cshtml.

2 голосов
/ 09 марта 2019

Вы можете создать переменную для шаблона.

@{
    var pattern = "/^[a-z0-9._%+-]+@@[a-z0-9.-]+.[a-z]{2,4}$/";
}

<input type="text" ng-model="Email" id="txtEmail" ng-pattern="@pattern" name="Email" placeholder="Email" required>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...