我是新手 才接触javascript       照着例子用js做个表单验证 但是写完后表单验证不起作用  点submit 直接就跳转到action指定的页面了 根本没有经过表单验证···弄了很久  不知道什么原因··· 以下是代码··html部分<html>
<head>
<title>表单</title>
<script type="text/javascript" language=javascript src="regcheckdata.js"></script>
</head>
<body>
<form name="form" action="tijiao.html" method="post" onSubmit="return checkdata()">
<table width="750" align="center" border="2">
<tr>
<td colspan="2" align="center">用户注册</td>
</tr>
<tr>
<td>用户名:</td>
<td>
<input type="text" name="username" size="30" maxlength="10">
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="password" name="pwd" size="15" maxlength="12">
</td>
</tr>
<tr>
<td>密码确认:</td>
<td><input type="password" name="pwd2" size="15" maxlength="12">
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
</td>
</tr>
<tr>
<td>你感兴趣:</td>
<td>
<select>
 <option value="C">C</option>
 <option value="JAVA">JAVA</option>
 <option value="C#">C#</option>
 </select>
</td>
</tr>
<tr>
<td>个人心语:</td>
<td>
 <textarea name="intro" rows="10" cols="50">
 </textarea>
</td>
</tr>
<tr>
<td>
<input type="submit" name="Submit" value="submit">
</td>
<td>
<input type="reset" value="reset">
</td>
</tr>
</table>
</form>
</body>
</html>
js部分function checkdata(){
var ssn=form.username.value.toLowerCase(); if (!checkUserName(ssn)){
return false; //检查用户名
} if(strlen(form.pwd.value(<6||strlen(form.pwd.value)>16)){
alert("\正确的登录密码长度为6-16位,仅可用英文、数字、特殊字符!");
form.pwd.focus();
return false;
} if(strlen2(form.pwd.value)){
alert("\你的密码中包含了非法字符,仅可用英文、数字、特殊字符!")
form.pwd.focus();
return false;
} if(form.pwd.value == form.username.value){
alert("\用户名和密码不能相同!");
form.pwd.focus();
return false;
} if(form.pwd2.value ==""){
alert("\请输入密码确认!");
form.pwd2.focus();
return false;
} if(form.pwd2.value != form.pwd.value){
alert("\两次输入密码不一致!")
form.pwd.focus();
return false;
} if(!(form.sex[0].checked||form.sex[1].checked)){
alert("请选择性别!");
form.sex[0].focus();
return false; 
} if(form.intro.value == ""){
alert("\自我介绍不能为空!");
form.into.focus();
return false;
}
return true;

}function checkUserName(ssn){
if(ssn.length<3 || ssn.length>18){
alert("\请输入正确的用户名,用户名长度为3-18位!")
form.username.focus();
return false;
} if(isWhiteSpace(ssn)){
alert("\请输入正确的用户名,用户名中不能包含空格!")
form.username.focus();
return false;
}

if(!isSsnString(ssn)){
alert("\对不起,你选择的用户名不正确或已被占用!")
form.username.focus();
return false;
}
return true;
}function isWhiteSpace(ssn){
var whitespace = "\t\n\r";
var i;
for(i = 0; i<ssn.length; i++){
var c = ssn.charAt(i);
if(whitespace.indexOf(c)>=0){
return true;
}
}
return false;
}function isSsnString(ssn){
var re = /^[0-9a-z][\w-.]*[0-9a-z]$/i;
if(re.test(ssn))
return true;
else
return false; 
}function strlen(str){
var len;
var i;
len = 0;
for(i=0; i<str.length; i++){
if(str.charCodeAt(i)>255) 
len += 2;
else
len++;
}
return len;
}function strlen2(str){
var len;
var i;
len = 0;
for(i=0; i<str.length; i++){
if(str.charCodeAt(i)>255) 
return true;
}
return false;
}请教了  谢谢

解决方案 »

  1.   

      if(strlen(form.pwd.value(<6||strlen(form.pwd.value)>16)){
    这句代码写错了
     if(strlen(form.pwd.value)<6||strlen(form.pwd.value)>16){
      

  2.   

    确实是···哎 我太不小心了···在editplus中写的···没注意到···谢谢一楼了···
      

  3.   

    textarea中不要有空格,不然这个无法验证
    if(form.intro.value == ""){
            alert("\自我介绍不能为空!");
            form.into.focus();
            return false;
        }form.into.focus();=》form.intro.focus();