php js表单验证问题

为什么它只验证第一项也就是用户名为空的情况,其他情况直接跳过?哪里错了?
function check(){
if(document.getElementById("name").value==""){
alert("用户名为空");
document.form1.name.focus();
return false;
}

if(!document.getElementById("name").value.match(/^[\x{4e00}-\x{9fa5}]{2,4}+$/u)){
alert("用户名格式错误");
document.form1.name.focus();
return false;
}

if(document.getElementByName("sex").value==""){
alert("年龄为空");
document.form1.sex.focus();
return false;
}

if(document.getElementById("age").value==""){
alert("年龄为空");
document.form1.age.focus();
return false;
}

if(!document.getElementById("age").value.match(/^([1-9]|[0-9]{2}|[1][01][0-9]|120)$/)){
alert("年龄格式错误");
document.form1.age.focus();
return false;
}

if(document.getElementById("pgonenumber").value==""){
alert("电话为空");
document.form1.phonenumber.focus();
return false;
}

if(!document.getElementById("pgonenumber").value.match(/^1(3|4|5|7|8)\d{9}$/)){
alert("电话格式错误");
document.form1.pgonenumber.focus();
return false;
}

if(document.getElementById("email").value==""){
alert("邮箱为空");
document.form1.email.focus();
return false;
}

if(!document.getElementById("email").value.match(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/)){
alert("邮箱格式错误");
document.form1.email.focus();
return false;
}

document.form1.submit();

}

<!DOCTYPE html>
<html>
  <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
RunJS æ¼”示代码
</title>
<style>
*{
margin:0;
padding:0;
}
table{
margin:auto;
width:300px;
border:1px solid black;
border-collapse:collapse;
}
th,td{
border:1px solid black;
}
</style>
<script>
var check = function(form){
var reg = /^\s+|\s+$/g;
var sexs = form.sex, isChecked = false;
for(var i = 0; i < sexs.length; i++){
if(sexs[i].checked){
isChecked = true;
break;
}
}
if(form.user.value.replace(reg,"") == ""){ 
alert("用户名不能为空!");
form.user.focus();
return false;
}else if(!isChecked){
alert("你的性别是?!");
return false;
}else if(!/^[1-9]\d{0,2}$/.test(form.age.value)){
alert("输入的年龄不规则");
form.age.focus();
form.age.select();
return false;
}else if(!/^1([38]\d|4[57]|5[0-35-9]|7[06-8]|8[89])\d{8}$/.test(form.phone.value)){
alert("手机号不符合规则");
form.phone.focus();
form.phone.select();
return false;
}else if(!/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/.test(form.email.value)){
alert("邮箱不对");
form.email.focus();
form.email.select();
return false;
}
return true;
}
</script>
  </head>
<body>
    <form name="form1" onsubmit="return check(this)">
<table>
<tr>
<td>
用户名:
</td>
<td>
<input type="text" name="user" />
</td>
</tr>
<tr>
<td>
性别:
</td>
<td>
<label>
<input type="radio" name="sex" value="男" />
男
</label>
<label>
<input type="radio" name="sex" value="女" />
女
</label>
</td>
</tr>
<tr>
<td>
年龄:
</td>
<td>
<input type="text" name="age" />
</td>
</tr>
<tr>
<td>
电话:
</td>
<td>
<input type="text" name="phone" />
</td>
</tr>
<tr>
<td>
邮箱:
</td>
<td>
<input type="text" name="email" />
</td>
</tr>
<tr>
<td colspan=2>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</td>
</tr>
</table>
</form>
  </body>
</html>
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-30
return ;
直接中断,下面的就不执行了追问

对了,问题是用户名不为空它也不会执行下面程序。

相似回答