JavaScript语句判断邮箱的代码意思问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 06:24:54
function checkemail(email)
{
var str=email;
var i=str.indexOf("@");
var j=str.indexOf(".");
var k=str.length-1-j;
if((i<1)||(i-j>1)||(j<1)||(k<0))
return true;
else
return false;
}
</script>

对这段语句不解 求高人帮忙分析
尤其是这一块儿。
var k=str.length-1-j;
if((i<1)||(i-j>1)||(j<1)||(k<0))

function checkemail(email)
{
var str=email; //把参数内容传递给字符串变量str,下面假释str为ygb@21cn.com
var i=str.indexOf("@"); //i为@在str中的位置,也就是3
var j=str.indexOf("."); //j为.在str中的位置,也就是8
var k=str.length-1-j; //k为长度减j再减1,也就是12-8-1=3,表示.后面内容的长度
if((i<1)||(i-j>1)||(j<1)||(k<0))
//如果i小于1,也就是没有@
//或者i-j<1,也就是@后面接着就是.
//或者j小于1,也就是没有.
//或者k小于0,也就是.后面没有内容
return true; //那么不是合法的EMAIL地址
else
return false; //否则地址合法
}
</script>

楼上正解