使用JavaScript编写一个用于验证电子邮件地址是否正确的函数checkForm ()。急啊!!

使用JavaScript编写一个用于验证电子邮件地址是否正确的函数checkForm ()。要求:
(1)E-mail地址不能为空,并且必须包含“@”和“.”。
(2)密码也不能为空,而且其长度必须是6位以上(包括6位)
Html 页面内容如下:
<BODY>
<DIV align="center"> <IMG src="images/Snap2.jpg"></DIV>
<FORM name="myform" action="success.html" method="post" onSubmit="return checkForm()">
<TABLE cellSpacing="0" cellPadding="0" width="670" align="center" border="0">
<TBODY><TR><TD height="30"><IMG src="images/Snap4.jpg"></TD></TR>
<TR><TD bgColor="#d8d8ed"><TABLE cellSpacing="5" cellPadding="0" width="100%" border="0">
<TBODY><TR><TD align="right" width="190"><STRONG>E-mail:</STRONG></TD><TD><INPUT maxLength="100" size="20" name="email"> 请填写有效的E-mail地址作为下次登录的用户名<BR></TD></TR>
<TR><TD align="right" width="190"><STRONG>密码:</STRONG></TD>
<TD><INPUT type="password" size="20" value="" name="pass"> 不少于6个字符,不区分大小写<BR></TD></TR>
<TR><TD style="padding-left:100px">
<INPUT id="btn" type="submit" class="btnPic" name="btn" value=""></TD> </TR>
</TBODY></TABLE></TD></TR></TBODY></TABLE>
</FORM><DIV align="center"><IMG src="images/Snap3.jpg"></DIV></BODY>
</HTML>

function f_checkMail(){
var email = document.myform.email.value;

//存在@符号
var a = email.indexOf("@");

//是否存在点
var point = email.indexOf(".");

//存在@,点,并且 点在@之后,且不相邻
if(a == -1 || point == -1 || point - a <= 1){
alert("邮箱格式不正确。正确的例如[email protected]");
document.myForm.txtMail.select();
return false;
}

//@不能够是第一个字符,点不能够是最后一个字符
if(a == 0 || point == email.length - 1){
alert("邮箱格式不正确。正确的例如[email protected]");
document.myForm.txtMail.select();
return false;
}

return true;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-01
function chenkForm(){

var reg = /^[a-z]([a-z0-9])+@([a-z0-9])+[\.][a-z]{2,3}$/;
if( !reg.test( 输入的邮箱 ) ){return alert('请输入正确的邮箱'),!1}
if( 密码.lenght<6 ){return alert('密码不能小于6位'),!1}
return;

}

最好是这样 把这代码写在网页底部(用jquery的当我没说)
写成
document.getElementById(提交按钮ID).onclick = function(){

var reg = /^[a-z]([a-z0-9])+@([a-z0-9])+[\.][a-z]{2,3}$/;
if( !reg.test( 输入的邮箱 ) ){return alert('请输入正确的邮箱'),!1}
if( 密码.lenght<6 ){return alert('密码不能小于6位'),!1}
return;
}
第2个回答  2011-04-25
这样确实无法提交,因为html的每个元素都会在dom中建里一个相应的对象。name属性就是这个对象的唯一标识,<input>是这样。<script>也是这样,script中的每个方法或过程的方法名就相当于它的name属性。你在<input>的onclick方法中指定了要调用的对象名,于是dom在它内部寻找,按顺序首先找到了input本身,但是input本身不是一个onclick方法函数,所以会报错“对象不支持属性或方法”
相似回答