JAVA EE-JS-表单验证

时间:2022-04-19 15:43:39

JS-表单验证

敢于冲撞命运才是天才。 —— 雨果

先看一下最后的效果。
JAVA EE-JS-表单验证

我们首先完成表单部分

<body>
        <form action="" name="form1" onsubmit="return fun1();" >
            <table border="1" width="30%" >
                <tr>
                    <th colspan="2" align="center" >
                        用户注册
                    </th>
                </tr>   
                <tr>
                    <td>用户名:</td>
                    <td><input type="text" name="name" onblur="checkName();" /><font color="red" ></font></td>
                </tr>
                <tr>
                    <td>邮箱:</td>
                    <td><input type="text" name="email" /><font color="red" ></font></td>
                </tr>     
                <tr>
                    <td colspan="2" align="center" >
                        <input type="submit" value="提交" />
                    </td>
                </tr>               
            </table>
        </form>
  </body>

下面是验证的逻辑以及代码

<script type="text/javascript"> //如果校验不符合规则,拦截表单的提交 //1 用户名不能为空,并且长度在6到10位之间.只能以英文字母开头. 用户名中只能使用"_"符号. function fun1(){ var flag = true; if(!checkEmail()){ flag = false; } if(!checkName()){ flag = false; } alert(flag); return flag; } //验证邮箱 function checkEmail(){ //1 获得用户输入的邮箱 var email = document.form1.email.value; //2 定义正则 var reg = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/g; //3 校验 if(!reg.test(email)){ //失败=>提示,并返回false addError(document.form1.email,"邮箱不符合规则!"); return false;//拦截表单提交 }else{ removeError(document.form1.email); return true; } } //验证用户名 function checkName(){ //1 获得文本输入框中的内容 //var nameInput= document.getElementsByName("name")[0]; var nameInput = document.form1.name; //var name = nameInput.getAttribute("value"); var name = nameInput.value; //DHTML属性  //2 定义正则表达式对象 var reg = /^[a-zA-Z][a-zA-Z0-9_]{5,9}$/g; //3 校验 if(!reg.test(name)){ //校验失败=> 提示用户.  //alert("用户需要6到10位,不能以数字开头!"); addError(nameInput,"用户需要6到10位,不能以数字开头!"); return false;//拦截表单提交 }else{ //验证成功=>清除错误信息 removeError(nameInput); return true; } } //添加错误 //参数1 : 标识往那里添加 //参数2 : 错误信息是什么 function addError(where,what){ where.nextSibling.innerHTML=what; } //清除错误 function removeError(where){ where.nextSibling.innerHTML=""; } </script>