主题:javascript数据验证的问题
<html>
<head>
<title>验证表单数据</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<script language="JavaScript" type="text/JavaScript" [color=FF0000]for="frmReg" event="onsubmit()"[/color]>
// 检查用户是否选择进行客户端验证
if(!ClientCheck.checked)
return true; // 若没有选择进行客户端验证则直接将数据传到服务器端
// 检查用户名和密码不能为空
var strAlert = "";
if(Name.value == "")
strAlert += "姓名不能为空!\n";
if(IDCard.value == "")
strAlert += "身份证不能为空!\n";
else
{ // 以下再开始检查身份证的正确性
if((IDCard.value.length!=15) && (IDCard.value.length!=18))
strAlert += "身份证必须是15位或者18位!\n";
// 检查是否包含其他字母
var error = 0;
for(i=0;i<IDCard.value.length;i++)
if([color=FF0000]isNaN[/color]([color=FF0000]parseInt[/color](IDCard.value.[color=FF0000]charAt[/color](i))))
error ++;
if(error != 0)
strAlert += "身份证必须只能包含数字!\n";
}
// 如果检查有错误则进行提示
if(strAlert!="")
{
window.alert(strAlert);
return false;
}
else
return true;
</script>
<body>
<form action="register.asp" method="post" name="frmReg">
<table width="400" border="0" align="center" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC">
<tr valign="middle">
<td height="30" colspan="2" align="center" bgcolor="#FFFFFF"><font color="#445577" size="4"><strong>用户注册</strong></font></td>
</tr>
<tr>
<td align="right" >姓 名: </td>
<td><input name="Name" type="text"></td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF">身 份 证: </td>
<td bgcolor="#FFFFFF"><input name="IDCard" type="text" id="IDCard" value="333333333333333"></td>
</tr>
<tr>
<td align="right" >要进行客户端验证?</td>
<td ><input name="ClientCheck" type="checkbox" value="ClientCheck"></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#FFFFFF">
<input type="submit" name="Submit" value="提 交">
<input type="reset" name="Submit2" value="重 置"></td>
</tr>
</table>
</form>
</body>
</html>
上边这段代码,有几个小问题请教高手,[em8][em8][em10][em10][em18][em18]
1,isNaN,parseInt,charAt这三是嘛意思啊?
2,for="frmReg" event="onsubmit()"怎么解释啊,一点提交就在本页验证是不是和这句有关啊,能不能具体解释一下?
谢谢谢谢谢谢[em16][em16]
<head>
<title>验证表单数据</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<script language="JavaScript" type="text/JavaScript" [color=FF0000]for="frmReg" event="onsubmit()"[/color]>
// 检查用户是否选择进行客户端验证
if(!ClientCheck.checked)
return true; // 若没有选择进行客户端验证则直接将数据传到服务器端
// 检查用户名和密码不能为空
var strAlert = "";
if(Name.value == "")
strAlert += "姓名不能为空!\n";
if(IDCard.value == "")
strAlert += "身份证不能为空!\n";
else
{ // 以下再开始检查身份证的正确性
if((IDCard.value.length!=15) && (IDCard.value.length!=18))
strAlert += "身份证必须是15位或者18位!\n";
// 检查是否包含其他字母
var error = 0;
for(i=0;i<IDCard.value.length;i++)
if([color=FF0000]isNaN[/color]([color=FF0000]parseInt[/color](IDCard.value.[color=FF0000]charAt[/color](i))))
error ++;
if(error != 0)
strAlert += "身份证必须只能包含数字!\n";
}
// 如果检查有错误则进行提示
if(strAlert!="")
{
window.alert(strAlert);
return false;
}
else
return true;
</script>
<body>
<form action="register.asp" method="post" name="frmReg">
<table width="400" border="0" align="center" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC">
<tr valign="middle">
<td height="30" colspan="2" align="center" bgcolor="#FFFFFF"><font color="#445577" size="4"><strong>用户注册</strong></font></td>
</tr>
<tr>
<td align="right" >姓 名: </td>
<td><input name="Name" type="text"></td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF">身 份 证: </td>
<td bgcolor="#FFFFFF"><input name="IDCard" type="text" id="IDCard" value="333333333333333"></td>
</tr>
<tr>
<td align="right" >要进行客户端验证?</td>
<td ><input name="ClientCheck" type="checkbox" value="ClientCheck"></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#FFFFFF">
<input type="submit" name="Submit" value="提 交">
<input type="reset" name="Submit2" value="重 置"></td>
</tr>
</table>
</form>
</body>
</html>
上边这段代码,有几个小问题请教高手,[em8][em8][em10][em10][em18][em18]
1,isNaN,parseInt,charAt这三是嘛意思啊?
2,for="frmReg" event="onsubmit()"怎么解释啊,一点提交就在本页验证是不是和这句有关啊,能不能具体解释一下?
谢谢谢谢谢谢[em16][em16]