<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function validate_email(field,text){
with (field){
// with就是类似C++的namespace,简单说就是命名空间,也就是说with的{}里面就不用再写 thisform.xxx 了,直接写 xxx就是意味着是thisform的
//这里的value=field.value
apos = value.indexOf("@");//获取“@”出现的位置
dotpos = value.lastIndexOf(".");//获取“.”出现的位置
if (apos<1||dotpos-apos<2){//做一个判断,输入的邮箱必须包含“@”符号和点号“.”同时“@”不可以是邮件地址的首字符,并且“@”之后需有至少一个“.”号:
alert(text);//如果条件成立,则弹出该提示框
return false;//这里的返回false,意味着严重失败
}else{
alert("提交成功\n\n点击确定继续")//如果条件不成立,则弹出该提示框
return true;//意味着验证成功
}
}
}
function validate_form(thisform){//因为onsubmit里调用了validate_form(this),这里的this就是指form本身,thisform接收的就是这个form也可以改成form
with (thisform){
// with就是类似C++的namespace,简单说就是命名空间,也就是说with的{}里面就不用再写 thisform.xxx 了,直接写 xxx就是意味着是thisform的
//这里的email=thisform.email=form里name=email
if(validate_email(email,"请输入正确的邮箱地址")==false){//调用 validate_required 参数是thisform下面的name=email的标签的引用,另外一个参数是个字符串
email.focus();//如果validate_email返回false,就把焦点设定到email上
return false;//这里的返回false,意味着验证失败,表单不会被提交
}
}
}
</script>
</head>

<body>
<form action="javascript:;" onsubmit="return validate_form(this)" method="post"><!--当提交表单时,先执行validate_form()。参数是该表单自己this-->
邮箱:<input type="text" id="email" name="email" size="50"/>
<input type="submit" value="提交" id="submit"/>
</form>
</body>
</html>