<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
</style>
</head>
<body>
<form>
<span>邮箱:</span>
<input type="text" id="num">
<input type="submit" value="正则验证" onclick="check()">
</form>
<script>
/*
* 验证邮箱是否合法:
* 邮箱的一般格式为:名称@域名。
我们这里需要匹配的邮箱中名称可以包含汉字、字母、数字,域名只允许为英文和数字。
例如:张三[email protected]
邮件名称部分:
汉字在正则中表示为[\u4e00-\u9fa5]
字母和数字表示为A-Za-z0-9
因此邮件名称部分的正则表达式整理如下:
[A-Za-z0-9\u4e00-\u9fa5]+
邮件域名部分:
一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“xx .xx .xx .xx”组成。
“xx”部分可以表示为[a-zA-Z0-9_-]+
“.xx”部分可以表示为\.[a-zA-Z0-9_-]+
多个“.xx”可以表示为(\.[a-zA-Z0-9_-]+)+
得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+。
我们综合上面两部分得出最终表达式:
^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
* */
function check() {
var str= document.getElementById("num").value;
var reg =/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
var boo = reg.test(str);
if(boo){
alert("格式正确!");
}else{
alert("格式不正确!");
}
}
</script>
</body>
</html>
正则表达式学习:案例5--正则邮箱验证
猜你喜欢
转载自blog.csdn.net/qq_32584661/article/details/80761608
今日推荐
周排行