我想检查用户输入是否是JavaScript的电子邮件地址,然后将其发送到服务器或试图发送电子邮件,以防止最基本的误解。
当前回答
下面是一个解决方案,它工作,并包括验证 / 通知的幻觉性,以以下形式:
您可以在此链接上运行
雅加达
(function() {
'use strict';
window.addEventListener('load', function() {
var form = document.getElementById('needs-validation');
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
}
form.classList.add('was-validated');
event.preventDefault();
}, false);
}, false);
})();
HTML
<p class='title'>
<b>Email validation</b>
<hr size="30px;">
</p>
<br>
<form id="needs-validation" novalidate>
<p class='form_text'>Try it out!</p>
<div class="form-row">
<div class="col-12">
<input type="email" class="form-control" placeholder="Email Address" required>
<div class="invalid-feedback">
Please enter a valid email address.
</div>
</div>
<div class="row">
<div class="col-12">
<button type="submit"
class="btn btn-default btn-block">Sign up now
</button>
</div>
</div>
</form>
其他回答
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])+
我稍微修改了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
如果你把你的常规表达式定义为一个字符串,那么所有的背影都必须逃脱,所以而不是“\w”你应该有“\w”。
否则,将其定义为常规表达式:
var pattern = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;
我知道它不是雷格斯,但以任何方式......
这是一个节点和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');
}
});
}
我正在使用 match() 来检查标准电子邮件模式,并在输入文本中添加一个类,以通知用户。
$(document).ready(函数(){ $('#submit').on('click',函数(){ var email = $('#email').val(); var pat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; if (email.match(pat)){ $('#email').addClass('input-valid'); return false; } else { $('#email').addClass('input-error').val(''); return false
推荐文章
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- 如何使Bootstrap 4卡在卡列相同的高度?
- 我如何等待一个承诺完成之前返回一个函数的变量?
- 在JavaScript中根据键值查找和删除数组中的对象
- 使嵌套JavaScript对象平放/不平放的最快方法
- 使用域集图例引导
- 如何以及为什么'a'['toUpperCase']()在JavaScript工作?
- 音频停止功能
- 有Grunt生成index.html不同的设置
- 如何禁用谷歌翻译从HTML在Chrome
- 文档之间的区别。addEventListener和window。addEventListener?
- 如何检查动态附加的事件监听器是否存在?
- 如何写setTimeout与参数Coffeescript
- 将JavaScript字符串中的多个空格替换为单个空格
- 向HTML表中添加水平滚动条