我是jQuery的新手,想知道如何使用它来验证电子邮件地址.
您可以使用常规的旧javascript:
function isEmail(email) { var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; return regex.test(email); }
jQuery函数验证电子邮件
我真的不喜欢使用插件,特别是当我的表单只有一个需要验证的字段时.我使用此功能并在需要验证电子邮件表单字段时调用它.
function validateEmail($email) { var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; return emailReg.test( $email ); }
现在要用它
if( !validateEmail(emailaddress)) { /* do stuff here */ }
干杯!
我会使用jQuery验证插件有几个原因.
你验证了,好的,现在怎么样?您需要显示错误,在有效时处理擦除错误,显示总共有多少错误?它可以为您处理很多事情,无需重新发明轮子.
此外,另一个巨大的好处是它托管在CDN上,此答案时的当前版本可以在这里找到:http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx 这意味着客户端的加载时间更短.
请查看http://bassistance.de/jquery-plugins/jquery-plugin-validation/.这是一个很好的jQuery插件,它允许为表单构建强大的验证系统.有一些有用的样品在这里.因此,表单中的电子邮件字段验证将如下所示:
$("#myform").validate({ rules: { field: { required: true, email: true } } });
请参阅电子邮件方法文档以获取详细信
Live Email Validation with jQuery Demo Reynoldsftw.com - Live Email Validation
Type in an email address in the box below:
More script and css style
:www.htmldrive.net
来源:htmldrive.com
7> Robin Orhede..:我推荐Verimail.js,它也有一个JQuery插件.
为什么?Verimail支持以下内容:
语法验证(根据RFC 822)
IANA TLD验证
针对最常见的TLD和电子邮件域的拼写建议
拒绝临时电子邮件帐户域,例如mailinator.com
因此除了验证,Verimail.js还会为您提供建议.因此,如果您输入的电子邮件错误的TLD或域名与普通电子邮件域(hotmail.com,gmail.com等)非常相似,则可以检测到并建议更正.
例子:
test@gnail.con - >你的意思是测试@ gmail.com?
test@hey.nwt - >你的意思是测试@嘿.网?
test@hottmail.com - >你的意思是测试@ hotmail.com?
等等..
要将它与jQuery一起使用,只需在您的站点上包含verimail.jquery.js并运行以下函数:
$("input#email-address").verimail({ messageElement: "p#status-message" });message元素是一个显示消息的元素.这可以是从"您的电子邮件无效"到"您的意思是......?"的所有内容.
如果您有一个表单并且想要限制它以便除非电子邮件有效之外无法提交,那么您可以使用getVerimailStatus函数检查状态,如下所示:
if($("input#email-address").getVerimailStatus() < 0){ // Invalid }else{ // Valid }此函数根据Comfirm.AlphaMail.Verimail.Status对象返回整数状态代码.但一般的经验法则是,0以下的任何代码都是表示错误的代码.
8> 小智..:
http://so.devilmaycode.it/jquery-validate-e-mail-address-regex/
使用新的正则表达式
添加了对地址标签的支持(+号)
function isValidEmailAddress(emailAddress) { var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i; return pattern.test(emailAddress); };
9> Geek..:这会执行更彻底的验证,例如它会检查用户名中的连续点,例如john..doe @ example.com
function isValidEmail(email) { return /^[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}$/.test(email) && /^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*/.test(email); }见在JavaScript中使用正则表达式验证电子邮件地址.
10> iamse7en..:一个非常简单的解决方案是使用html5验证:
http://jsfiddle.net/du676/56/
11> isaac weathe..:如果您有基本表单,只需输入电子邮件类型:
这适用于使用HTML5属性的浏览器,然后您甚至不需要JS.即使使用上面的一些脚本,使用电子邮件验证也不会做太多事情:
some@email.com so@em.co my@fakemail.net
等...将全部验证为"真实"电子邮件.因此,最好确保用户必须输入两次电子邮件地址,以确保他们将相同的电子邮件地址放入其中.但是为了保证电子邮件地址是真实的,这将是非常困难的,但是看看是否有办法.但如果你只是确保它是一封电子邮件,请坚持使用HTML5输入.
FIDDLE示例
这适用于FireFox和Chrome.它可能无法在Internet Explorer中工作......但是Internet Explorer很糟糕.那么那就是......
12> Trevor Nestm..:
MVC / ASP.NET中的Javascript电子邮件验证我在使用Fabian答案时遇到的问题是,由于使用Razor
@
符号,因此在MVC视图中实现了该问题。您必须包括一个其他@
符号才能对其进行转义,如下所示:@@
在MVC中避免剃刀
function isEmail(email) { var regex = /^([a-zA-Z0-9_.+-])+\@@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; return regex.test(email); }我在此页面上的其他地方都没有看到它,因此我认为这可能会有所帮助。
编辑
这是Microsoft 的链接,描述了它的用法。
我刚刚测试了上面的代码,并得到以下js:function validateEmail(email) { var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; return regex.test(email); }到底是在做什么。
13> JayKandari..:function isValidEmail(emailText) { var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i); return pattern.test(emailText); };Use Like This :
if( !isValidEmail(myEmail) ) { /* do things if myEmail is valid. */ }
14> JAB..:function validateEmail(emailaddress){ var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; if(!emailReg.test(emailaddress)) { alert("Please enter valid email id"); } }
15> Pritam..:
16> Stephen..:正如其他人提到的,您可以使用正则表达式来检查电子邮件地址是否与模式匹配。但是您仍然可以收到与模式匹配的电子邮件,但我仍会退回或成为伪造的垃圾邮件。
用正则表达式检查var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; return regex.test(email);使用真实的电子邮件验证API进行检查您可以使用API来检查电子邮件地址是否真实且当前处于活动状态。
var emailAddress = "foo@bar.com" response = $.get("https://isitarealemail.com/api/email/validate?email=" + emailAddress, function responseHandler(data) { if (data.status === 'valid') { // the email is valid and the mail box is active } else { // the email is incorrect or unable to be tested. } })有关更多信息,请参见https://isitarealemail.com或博客文章
推荐阅读
如何解决《您将如何对从设备中提取的一组二进制数据进行逆向工程?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《推荐的Python发布/订阅/发送模块?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《.NET相当于Java的List.subList()?》经验,为你挑选了2个好方法。 ... [详细] 如何解决《使用Capistrano是否安全?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《c#中Iterator和Array之间的区别》经验,为你挑选了1个好方法。 ... [详细] 如何解决《C#threading-锁定对象》经验,为你挑选了2个好方法。 ... [详细] 如何解决《如何将NSString转换为NSData?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《C程序中的函数格式》经验,为你挑选了1个好方法。 ... [详细] 如何解决《截取wpf弹出窗口的截图》经验,为你挑选了1个好方法。 ... [详细] 如何解决《cvs,"文件应该删除并且仍然存在(或者再次返回)"》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何选择一个独特的DIV并使用jQuery取消选择其余的?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《C/C++GUI应用程序的自动化测试》经验,为你挑选了0个好方法。 ... [详细] 如何解决《项目级c++异常处理策略》经验,为你挑选了1个好方法。 ... [详细] 如何解决《缺少makecert.exe》经验,为你挑选了3个好方法。 ... [详细] 如何解决《将通用List<string>绑定到ComboBox》经验,为你挑选了1个好方法。 ... [详细] 如何解决《需要CSS侧边栏高度以扩展内容》经验,为你挑选了3个好方法。 ... [详细] 如何解决《如何从列表中选择随机名称并将其存储在变量中?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《什么是.NET开发人员?》经验,为你挑选了2个好方法。 ... [详细] 吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1外部CSS样式表未加载
- 2如何在PHP字符串中替换表意空间?
- 3如何在Assembly.LoadFile()之前从DLL读取属性
- 4如何解决"错误:无法读取应用程序的Info.plist(无法加载DVTFilePath的信息字典)"
- 5如何在等待JS加载内容后解析HTML页面?
- 6如果可能的话,如何使Momentjs不是Angularjs中的全局变量
- 7如何在meanjs中获得基本网址?
- 8有没有办法从一个点填充,直到它使用HTML Canvas和JavaScript到达边框?
- 9如何从WPF RichTextBox中删除特定字符串?
- 10如何在visual studio上以管理员身份运行最近的项目或解决方案
- 11使用正则表达式替换字符串中的参数
- 12Python Scatter Plot,每个X都有多个Y值
- 13删除由角度组件创建的主机HTML元素选择器
- 14如何设置'crates.io'的本地存储库?
- 15Azure Portal无法创建新的os磁盘,vm映像等
- 16如何管理iOS apns令牌更改
- 17使用Javascript在每个第二个字符后添加冒号(:)
- 18IB Designables:无法更新自动布局状态:代理引发了"CALayerInvalidGeometry"异常
- 19SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo失败:提供nodename或servname,或者不知道
- 20抛出constexpr功能
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有