我想检查用户输入是否是JavaScript的电子邮件地址,然后将其发送到服务器或试图发送电子邮件,以防止最基本的误解。
当前回答
我的常规表达的知识并不那么好,这就是为什么我首先用简单的常规表达来检查整体合成,然后检查其他功能的更具体选项,这可能不是最好的技术解决方案,但这就是为什么我更灵活、更快的方式。
我遇到的最常见的错误是空间(特别是在开始和结束),有时是双点。
function check_email(val){
if(!val.match(/\S+@\S+\.\S+/)){ // Jaymon's / Squirtle's solution
// Do something
return false;
}
if( val.indexOf(' ')!=-1 || val.indexOf('..')!=-1){
// Do something
return false;
}
return true;
}
check_email('check@thiscom'); // Returns false
check_email('check@this..com'); // Returns false
check_email(' check@this.com'); // Returns false
check_email('check@this.com'); // Returns true
其他回答
我知道它不是雷格斯,但以任何方式......
这是一个节点和npm包电子邮件存在的例子,这是最终检查电子邮件是否存在,如果它在正确的形式:)
这将粘贴电子邮件,如果它的回复,如果它没有回复,它将返回虚假或其他真实。
function doesEmailExist(email) {
var emailExistence = require('email-existence');
return emailExistence.check(email,function (err,status) {
if (status) {
return status;
}
else {
throw new Error('Email does not exist');
}
});
}
很难得到一个电子邮件验证器100%正确的唯一真正的方式来得到它正确的将是发送一个测试电子邮件到帐户。
一些要改进的事情:
而不是新的RegExp,只需尝试这样写出regexp:
if (reg.test(/@/))
其次,请确保在 @ 标志之后出现一个时期,并确保 @ 和 期间之间有字符。
我真的很高兴能解决这个问题,所以我修改了电子邮件验证的常规表达。
<unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk>
在维基百科的电子邮件地址中提交例子。
你可以在这里看到结果。
此分類上一篇
\b[a-z][\w\d_\.]+@\w+\.[a-z]{2}[a-z]?\.?[a-z]{,2}\s
它允许:
abcxyz123@qwert.com
abc123xyz@asdf.co.in
abc1_xyz1@gmail1.com
abc.xyz@gmail.com.in
只是为了完整性,这里有另一个RFC 2822符合规则。
我的焦点
推荐文章
- 使伸缩项目正确浮动
- Babel 6改变了它导出默认值的方式
- 如何配置历史记录?
- ES6模板文字可以在运行时被替换(或重用)吗?
- [Vue警告]:找不到元素
- 可以在setInterval()内部调用clearInterval()吗?
- AngularJS控制器的生命周期是什么?
- 无法读取未定义的属性“msie”- jQuery工具
- 形式内联内的形式水平在twitter bootstrap?
- 我的蛋蛋怎么不见了?
- JavaScript中的排列?
- 自定义元素在HTML5中有效吗?
- JavaScript中有睡眠/暂停/等待功能吗?
- 如何触发自动填充在谷歌Chrome?
- 创建圈div比使用图像更容易的方法?