Я новичок в jQuery, и мне было интересно, как использовать его для проверки адресов электронной почты.
356
Я новичок в jQuery, и мне было интересно, как использовать его для проверки адресов электронной почты.
Ответы:
Вы можете использовать обычный старый JavaScript для этого:
источник
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
наvar regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,6})+$/;
поддержку новых доменов верхнего уровня, таких как .museum и т. Д.Функция jQuery для проверки электронной почты
Я действительно не люблю использовать плагины, особенно когда в моей форме есть только одно поле, которое нужно проверить. Я использую эту функцию и вызываю ее всякий раз, когда мне нужно проверить поле формы электронной почты.
и теперь, чтобы использовать это
Ура!
источник
emailReg.test($email);
emailReg.text("")
true
. Я бы просто функция до объявления emailReg var, то это:return ( $email.length > 0 && emailReg.test($email))
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
наvar emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
Я бы использовал плагин проверки jQuery по нескольким причинам.
Вы подтвердили, хорошо, отлично, что теперь? Вам необходимо отобразить ошибку, обработать ее, когда она действительна, и показать, сколько всего ошибок возможно? Есть много вещей, которые он может обработать для вас, нет необходимости заново изобретать колесо.
Кроме того, еще одно огромное преимущество заключается в том, что он размещен на CDN, текущую версию на момент ответа можно найти здесь: http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx Это означает более быстрое время загрузки клиента.
источник
Посмотрите на http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ . Это хороший плагин jQuery, который позволяет построить мощную систему проверки форм. Есть некоторые образцы Полезные
здесь. Итак, проверка поля электронной почты в форме будет выглядеть так:Смотрите документацию по электронной почте для получения подробной информации и образцов.
источник
x@x
(это странно), он долженx@x.x
Как я могу это исправить?$.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
источник
: www.htmldrive.net
Источник: htmldrive.com
источник
Я бы порекомендовал Verimail.js , он также имеет плагин JQuery .
Почему? Verimail поддерживает следующее:
Таким образом, помимо проверки, Verimail.js также дает вам предложения. Поэтому, если вы введете письмо с неправильным TLD или доменом, очень похожим на обычный домен электронной почты (hotmail.com, gmail.com и т. Д.), Оно может обнаружить это и предложить исправление.
Примеры:
И так далее..
Чтобы использовать его с jQuery, просто включите verimail.jquery.js на свой сайт и запустите следующую функцию:
Элемент сообщения - это элемент, в котором будет показано сообщение. Это может быть что угодно: от «Ваш адрес электронной почты недействителен» до «Вы имели в виду ...?».
Если у вас есть форма и вы хотите ограничить ее, чтобы она не могла быть отправлена, если электронное письмо не является действительным, тогда вы можете проверить статус, используя функцию getVerimailStatus, как показано ниже:
Эта функция возвращает целочисленный код состояния в соответствии с объектом Comfirm.AlphaMail.Verimail.Status. Но общее правило состоит в том, что любые коды ниже 0 являются кодами, указывающими на ошибки.
источник
.getVerimailStatus()
не возвращает числовые коды состояния, только строковое значениеsuccess
,error
или , возможноpending
(не проверял последний).это было предоставлено пользователем Luca Filosofi в этом ответе на этот ответ
источник
@
символ с другим@
символом. Вот так@@
, иначе вы получите ошибку сборки.Очень простое решение - использовать проверку html5:
http://jsfiddle.net/du676/56/
источник
Это выполняет более тщательную проверку, например, проверяет наличие последовательных точек в имени пользователя, таких как john..doe @ example.com
См проверить адрес электронной почты с помощью регулярного выражения в JavaScript .
источник
Как уже упоминали другие, вы можете использовать регулярное выражение, чтобы проверить, соответствует ли адрес электронной почты шаблону. Но у вас все еще могут быть электронные письма, которые соответствуют шаблону, но я все еще отказываюсь или поддельные электронные письма спама.
проверка с помощью регулярного выражения
проверка с помощью реального API проверки электронной почты
Вы можете использовать API, который проверит, является ли адрес электронной почты реальным и активным в данный момент.
Для получения дополнительной информации см. Https://isitarealemail.com или сообщение в блоге.
источник
Если у вас есть базовая форма, просто введите тип адреса электронной почты:
<input type="email" required>
Это будет работать для браузеров, которые используют атрибуты HTML5, и тогда вам даже не нужен JS. Простое использование проверки электронной почты даже с некоторыми из приведенных выше сценариев мало что даст, так как:
some@email.com so@em.co my@fakemail.net
и т. д. Все будут подтверждены как "настоящие" электронные письма. Таким образом, было бы лучше убедиться, что пользователь должен ввести свой адрес электронной почты дважды, чтобы убедиться, что он вводит один и тот же адрес. Но гарантировать, что адрес электронной почты является реальным, было бы очень сложно, но очень интересно увидеть, был ли путь. Но если вы просто убедитесь, что это электронное письмо, придерживайтесь ввода HTML5.
Пример скрипки
Это работает в FireFox и Chrome. Это может не работать в Internet Explorer ... Но Internet Explorer отстой. Итак, вот что ...
источник
Проверка почты Javascript в MVC / ASP.NET
Проблема, с которой я столкнулся при использовании ответа Фабиана, заключается в его реализации в виде MVC из-за
@
символа Razor . Вы должны включить дополнительный@
символ, чтобы избежать его, например, так:@@
Избежать бритвы в MVC
Я не видел этого в другом месте на этой странице, поэтому я подумал, что это может быть полезно.
РЕДАКТИРОВАТЬ
Вот ссылка от Microsoft, описывающая его использование.
Я только что протестировал приведенный выше код и получил следующее js:
Который делает именно то, что должен делать.
источник
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
Что происходит с вашим кодом?@
символ в регулярном выражении в.cshtml
. Обычно он пытается обработать все после@
символа как код бритвы, но двойное@@
препятствует этому.Используйте как это:
источник
источник
источник
Приземлился тут ..... попал сюда: https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... который предоставил следующее регулярное выражение:
... который я нашел благодаря заметке о плагине jQuery Validation: https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
Таким образом, обновленная версия @Fabian «s ответ будет:
надеюсь, это поможет
источник
john..doe@example.com
но хотел бы, чтобы это было ложноиспользовать этот
источник
Ошибка в плагине проверки Jquery Validation Только проверяется с помощью @, чтобы изменить это
изменить код на это
источник
Для тех, кто хочет использовать более удобное в обслуживании решение, чем разрушительные совпадения RegEx с длиной светового года, я написал несколько строк кода. Те, кто хочет сохранить байты, придерживаются варианта RegEx :)
Это ограничивает:
В любом случае, утечка все еще возможна, поэтому убедитесь, что вы сочетаете это с проверкой на стороне сервера + проверкой электронной почты.
Вот JSFiddle
источник
Вы можете использовать jQuery Validation, и в одной строке HTML вы можете проверить электронную почту и сообщение проверки электронной почты:
type="email" required data-msg-email="Enter a valid email account!"
Вы можете использовать параметр data-msg-email, чтобы разместить персонализированное сообщение или иначе не размещать этот параметр, и будет отображаться сообщение по умолчанию: «Пожалуйста, введите действительный адрес электронной почты».
Полный пример:
источник
источник
Ссылка: JQUERY UI ВЕБ-САЙТ
источник
вы должны увидеть это: jquery.validate.js , добавьте его в свой проект
используя это так:
источник
Еще один простой и полный вариант:
источник
Вы можете создать свою собственную функцию
источник
Упрощенный, который я только что сделал, делает то, что мне нужно. Ограничено только буквенно-цифровыми, точка, подчеркивание и @.
Сделано с помощью других
источник
Это регулярное выражение предотвращает дублирование доменных имен, таких как abc@abc.com.com.com.com, и разрешает использовать домен только два раза, например abc@abc.co.in. Это также не позволяет делать запись с номера, такого как 123abc@abc.com
Всего наилучшего !!!!!
источник
Проверяйте электронную почту во время набора, с обработкой состояния кнопки.
источник
если вы используете проверку JQuery
Я создал метод,
emailCustomFormat
который использовалregex
для моего формата Custm вы можете изменить его в соответствии с вашими требованиямитогда вы можете использовать это так
это регулярное выражение принять
abc@abc.abc
,abc@abc.abcd
Но это неabc@abc
,abc@abc.a
,abc@abc.abcde
надеюсь, это поможет вам
источник