请问这个表单验证哪里错了,用户名,身份号,邮件格式错误时没有警告提示

请问这个表单验证哪里错了,用户名,身份号,邮件格式错误时没有警告提示<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional... 请问这个表单验证哪里错了,用户名,身份号,邮件格式错误时没有警告提示
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>register.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script language="javascript">
function checkform(form){
var theform=form;
var userId_patrn=/^([a-zA-Z0-9]|[_]){6,20}$/;
var password_patrn=/^([a-zA-Z0-9]|[_]){6,20}$/;
var isIDCard1=/^\d{17}(\d|x|X)$/;
var isIDCard2=/^\d{15}$/;
var isEmail=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
if(!userId_patrn.exec(theform.userID.value)){
alert("用户ID号由字母、数字、下划线和$组成,长度为6-20位!");
theform.userId.focus();
return false;
}
if(!password_patrn.exec(theform.password.value)){
alert("用户password由字母、数字、下划线和$组成,长度为6-20位!");
theform.password.focus();
return false;
}
if(!isIDCard1.exec(theform.IdentityCardID.value)||isIDCard2.exec(theform.IdentityCardID.value))){
alert("身份证号不对!");
theform.identityCardID.focus();
return false;
}
if(!isEmail.exec(theform.email.value)){
alert("电子邮箱格式不对!");
theform.email.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<center>
<form name="registerForm" method="post" action="GetRegisterData">
<table border="2">
<tr>
<td colspan="2" align="center">用户注册</td>
</tr>
<tr>
<td>用户ID:</td>
<Td><input type="text"name="userId">
<font color="#ff0000" size="2">*用户ID号由字母、数字、下划线和$组成,长度为6-20位</font></Td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" >
<font color="#ff0000" size="2">*密码由字母、数字、下划线和$组成,长度为6-20位</font></td>
</tr>
<tr>
<td>真实姓名:</td>
<td><input type="text" name="userName"></td>
</tr>
<tr>
<td>身份证号:</td>
<td><input type="text" name="IdentityCardID" >
<font color="#ff0000" size="2">*</font></td>
</tr>
<tr>
<td>电话号码:</td>
<td><input type="text" name="telephone"></td>
</tr>
<tr>
<td>电子邮箱:</td>
<td><input type="text" name="email" >
<font color="#ff0000" size="2">*</font></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="提交" onclick="javascript:return checkform
(registerForm);">
<input type="reset" value="取消">
</tr>
</table>
</form>
</center>
</body>
</html>
展开
 我来答
北林486
推荐于2016-02-01
知道答主
回答量:3
采纳率:0%
帮助的人:3.8万
展开全部
  1.你在验证身份证号时的js判断,那个if里面多了一个")",就是多了一个右括号,你仔细看下。
  2.你做的这个用户验证,是在点击提交之后才进行验证的,这个一般不友好了,可以考虑在每个input框后面定义一个span用来存储错误消息,一般的做法是在某个input框失去焦点时进行验证,为空、不符合输入规范的可以在前端验证,查用户名不存在之类的用ajax把这个input框的东西传到后台,然后根据返回的结果对这个span写入错误提示。
  3.为了更好的兼容性和代码工作量方面考虑,可以采用jquery框架写js,现在很多网站都在使用jquery框架了,你可以把jquery认为是一个对js进行封装的类库,我们直接去调用就好。
  4.现在布局多采用div+css了,表格布局存在一定的局限性和冗余性,你可以尝试着去把表格布局的改为div布局的,比较灵活、轻便。当然,对于数据的展现之类的用table或ul、li都是比较适宜的。
  以上建议供参考,感谢您的问题,在给人解答问题的过程中其实也可以学到一些东西的,希望你看到别人问出的问题你刚好会的时候,能空出一部分时间对他人进行解答,这样是一种共享进步的精神。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式