JavaScript中如何验证邮箱地址?
使用正则表达式是最好的方法:
function validateEmail(email) {
var re = /^(([^<
>()\[\]\\.,;
:\s@"]+(\.[^<
>()\[\]\\.,;
:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(email).toLowerCase());
}
下面是接受unicode的正则表达式的例子:
var re = /^(([^<
>()\[\]\.,;
:\s@\"]+(\.[^<
>()\[\]\.,;
:\s@\"]+)*)|(\".+\"))@(([^<
>()[\]\.,;
:\s@\"]+\.)+[^<
>()[\]\.,;
:\s@\"]{2,})$/i;
不过请注意,不应该只依赖JavaScript验证,JavaScript很有可能被禁用,也应该在服务器端增加验证。
【JavaScript中如何验证邮箱地址()】下面是一个例子:
function validateEmail(email) {
var re = /^(([^<
>()[\]\\.,;
:\s@\"]+(\.[^<
>()[\]\\.,;
:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}function validate() {
var $result = $("#result");
var email = $("#email").val();
$result.text("");
if (validateEmail(email)) {
$result.text(email + " is valid :)");
$result.css("color", "green");
} else {
$result.text(email + " is not valid :(");
$result.css("color", "red");
}
return false;
}$("#validate").bind("click", validate);
<
script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"><
/script><
form>
<
p>Enter an email address:<
/p>
<
input id='email'>
<
button type='submit' id='validate'>Validate!<
/button>
<
/form><
h2 id='result'><
/h2>
推荐阅读
- 如何在JavaScript的回调中正确地访问“this”()
- javascript如何更简单地在指定索引位置插入一个字符串()
- JavaScript闭包内循环简单实例
- 面向对象编程OOP(Python封装)
- JavaScript Date原型属性简要介绍
- JavaScript |自动完成/建议功能实现代码
- C语言中的Noreturn函数说明符详细介绍
- AngularJS | limitTo过滤用法指南
- C语言中的通用关键字用法介绍