Member 12605293 Ответов: 1

Я сделал проверку электронной почты в своем проекте, но она не позволяет мне ввести ни одной буквы


Привет , мне нужно проверить свой идентификатор электронной почты, и я сделал приведенный ниже код, он проверяет, но не допускает даже одного символа, который я включил в свою функцию

Что я уже пробовал:

<pre>function validateEmail(e) {
                    var mail = document.getElementById("<%=TxtEmail.ClientID%>");
                    var re = /^w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})*$/;
                    if (e.value.match(re)) {
                        return true;
                    }
                    else {
                        alert("email not valid")
                        return false;
                    } 
                }
<tr>
                    <td style="width: 362px">Email
                    </td>
                    <td>
                        <asp:TextBox ID="TxtEmail" onkeypress="validateEmail(this)" runat="server" Height="21px" Width="122px" />
                    </td>

                </tr>

1 Ответов

Рейтинг:
10

Patrice T

Вы пытаетесь проверить адрес каждый раз, когда нажимаете клавишу, но адрес может быть действительным только после завершения ввода.
Вам нужно проверить только в конце. Вам нужно использовать такое событие, как oninput, смотрите в текстовый документация о том, какое событие доступно.
Объект события HTML DOM[^]