为什么邮箱格式不对还显示注册成功
来源:3-9 编程练习
慕九州8176055
2020-01-02 22:26:05
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
form{
width:300px;
background:pink;
text-align: center;
padding:30px 0;
margin:100px auto;
}
</style>
</head>
<body>
<form id="form">
<p><input type="text" name="name" id="username" placeholder="请输入账户名"></p>
<span></span>
<p><input type="text" name="chinaName" id="chinaName" placeholder="请输入中文名"></p>
<span></span>
<p><input type="email" name="eamil" id="email" placeholder="请输入邮箱"></p>
<span></span>
<p><input type="submit" value="注册" id="submit"></p>
</form>
<script type="text/javascript">
var spans=document.getElementsByTagName("span");
var username=document.getElementById("username");
var chinaName=document.getElementById("chinaName");
var email=document.getElementById("email");
var submit=document.getElementById("submit");
var input1=false;
var input2=false;
var input3=false;
username.onfocus=function(){
spans[0].innerHTML="请输入6-18位字母、数字、下划线";
}
username.onblur=function(){
var reg=/^\w{6,18}$/;
if(this.value==""){
spans[0].innerHTML="请输入6-18位字母、数字、下划线";
}else if (!reg.exec(this.value)) {
spans[0].innerHTML="格式不正确";
}else{
spans[0].innerHTML="";
}
input1=true;
}
chinaName.onfocus=function(){
spans[1].innerHTML="请输入中文名";
}
chinaName.onblur=function(){
var reg=/^[\u4e00-\u9fa5]{2,4}$/;
if(this.value==""){
spans[1].innerHTML="请输入中文名";
}else if(!reg.exec(this.value)){
spans[1].innerHTML="格式不正确";
}else{
spans[1].innerHTML="";
}
input2=true;
}
email.onfocus=function(){
spans[2].innerHTML="请输入邮箱";
}
email.onblur=function(){
var reg=/^\w+@\w+\.[a-z]{2,4}$/;
if(this.value==""){
spans[2].innerHTML="请输入邮箱";
}else if(!reg.exec(this.value)){
spans[2].innerHTML="格式不正确";
}else{
spans[2].innerHTML="";
}
input3=true;
}
submit.onclick=function(){
if(input1==false||input2==false||input3==false){
alert("请按要求填写完整信息!");
}else{
alert("注册成功!");
}
}
</script>
</body>
</html>
1回答
好帮手慕星星
2020-01-03
同学你好,代码中的问题:
1、input1,input2等标志设置位置不对,代码中写在了if条件外面,无论输入是否正确,标志值都会变为true,所以判断会有问题。应该放在判断成功的后面,如下:
三个都要记得修改。
2、即使输入内容不正确,表单也会提交,这是不合理的,需要进行阻止。如下:
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题