我想检查用户输入是否是JavaScript的电子邮件地址,然后将其发送到服务器或试图发送电子邮件,以防止最基本的误解。
当前回答
我真的很高兴能解决这个问题,所以我修改了电子邮件验证的常规表达。
<unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk>
在维基百科的电子邮件地址中提交例子。
你可以在这里看到结果。
此分類上一篇
其他回答
所有电子邮件地址都包含一个“at”(即 @)符号。
email.includes('@')
或者,如果您需要支持 IE/older 浏览器:
email.indexOf('@') > 0
即使你能完全确定一个电子邮件是否是RFC合成有效,这不会告诉你它是否属于提供它的人。
要做到这一点,请发送验证消息。
Regex 确认电子邮件地址
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])+
這些將與上使用的電子郵件(他們正確相匹配每個規則)。Gmail /^[a-z](?!\.\.)([a-z\.])){4,28}[a-z0-9]@gmail.com$/i Yahoo /^[a-z](?!\.\.)([w\.])){3,30}[w]@yahoo.com$/i Outlook/Hotmail /[a-z](?!\.\.)([w\.])){0,62}[w]@(outlook.com♰hotmail.com)$/i
我稍微修改了Jaymon的答案,对于那些想要真正简单的验证的人来说:
anystring@anystring.anystring
常规表达:
/^\S+@\S+\.\S+$/
防止多种 @ 标志相匹配:
/^[^\s@]+@[^\s@]+\.[^\s@]+$/
上面的序列匹配整个序列,删除领先和 ^ 并追踪 $ 如果你想匹配在序列中的任何地方。
如果你想匹配整个字符串,你可能想先切割()字符串。
示例 JavaScript 功能:
函数验证电子邮件(电子邮件) { var re = /\S+@\S+\.\S+/; return re.test(电子邮件); } console.log(验证电子邮件(我的电子邮件是 anystring@anystring.any')); // true console.log(验证电子邮件(我的电子邮件是 anystring@anystring.any')); // false
另一个完美的电子邮件验证 regexp
/^([^\s\@])+\@(([^\s\@\.])+\.)+([^\s\.]{2,})+$/
您可以在这里测试 https://regex101.com/r/FV3pUI/2
推荐文章
- 使伸缩项目正确浮动
- Babel 6改变了它导出默认值的方式
- 如何配置历史记录?
- ES6模板文字可以在运行时被替换(或重用)吗?
- [Vue警告]:找不到元素
- 可以在setInterval()内部调用clearInterval()吗?
- AngularJS控制器的生命周期是什么?
- 无法读取未定义的属性“msie”- jQuery工具
- 形式内联内的形式水平在twitter bootstrap?
- 我的蛋蛋怎么不见了?
- JavaScript中的排列?
- 自定义元素在HTML5中有效吗?
- JavaScript中有睡眠/暂停/等待功能吗?
- 如何触发自动填充在谷歌Chrome?
- 创建圈div比使用图像更容易的方法?