问题描述:
使用js的正则表达式验证邮箱
注意事项:
1.在正则表达式的前后要加上^在后面要加上$否则会出现错误;
2.在使用单个字符是使用[xx]括起来
代码:
function validateEmail() {
var email = document.getElementById("email").value;
//注意事项:正则表达式必须加上^和$
var reg1 = new RegExp("^\\w+@\\w{2,6}(\\.\\w{2,3})+$","i");
//注意单个字符最好用[]括起来
var reg = /^\w+[@]\w{2,5}([.]\w{2,3}){1,3}$/i;
//email.match(reg)
if(reg.test(email)){
alert("success");
}else{
alert("defate");
}
}
解析:可以把邮箱拆分为(xxxxxx@xx.xxx.xx):
@之前,\w+
@与点之间 :\w{2,5}
点之后 :(.\w{2,3})这个可以重复:所以变为:(.\w{2,3}){1,3}
组合起来就是:\w+[@]\w{2,5}([.]\w{2,3}){1,3}
再加上结尾与开始:^\w+[@]\w{2,5}([.]\w{2,3}){1,3}$
就完成了!
把他变为正则表达式:/^\w+[@]\w{2,5}([.]\w{2,3}){1,3}$/i:其中表示忽略大小写;