邮箱网讯 10月20日消息 如何使用JavaScript验证email的正确性?今天这个内容将做一个小小的总结,希望对你有所帮助。
方式一:简单验证
对于想要以以下形式进行真正简单验证的人
fly63@email.com
正则表达式:
/\S+@\S+\.\S+/
要防止匹配多个@ 符号(推荐使用):
/^[^\s@]+@[^\s@]+\.[^\s@]+$/
JavaScript 函数示例:
functionvalidateEmail(email) {var re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;return re.test(email);}console.log(validateEmail(fly63@email.com'));
这样能保证用户输入的邮箱没有明显的错误,绝大部分是正确的,而且效率是最高的。
方式二:官网标准
官方标准称为RFC 2822。它描述了有效电子邮件地址必须遵守的语法。使用这个正则表达式来实现它:
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
如果我们省略使用双引号和方括号的语法,我们将获得更实用的 RFC 2822 实现。它仍然会匹配今天实际使用的所有电子邮件地址的 99.99%。
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
方式三:html5表单验证
html5 本身具有电子邮件验证功能。如果您的浏览器支持 HTML5,那么您可以使用以下代码。
<form> <input type="email" placeholder="me@example.com" required> <input type="submit"></form>
只需检查输入的电子邮件地址是否有效或不使用 HTML,无需编写用于验证的函数。
需要注意的是:存在浏览器兼容性。
来源: |web前端开发 ID:web_qdkf