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(String(email).toLowerCase());

}

下面是接受unicode的正则表达式的例子:

var re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;

不过请注意,不应该只依赖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中如何验证邮箱地址? 的全部内容, 来源链接: www.h5w3.com/199984.html

回到顶部