首页 > web前端 > js教程 > 正文

如何用JavaScript做表单的校验

PHPz
发布: 2016-05-16 15:57:47
转载
1924人浏览过

一、原理

表单的校验通过输入框中添加onblur事件,输入框失去焦点时调用js函数,js判断输入的值,操作文档,通过innerhtml属性把输入框后面的提示显示出来。

最后在form标签中添加onsubmit事件,点击注册按钮时调用js函数,仅当所有输入框的value符合要求时,返回true,,表单提交。否则返回false表单不提交。

二、图片

bb.jpg

三、注意事项

立即学习Java免费学习笔记(深入)”;

js中创建正则表达式需要用"/^……$/”,^表示从头开始匹配,$表示匹配到最后一个字符。例如var reg=/^\w+[@]\w+[.comn]{3,4}$/;

开拍
开拍

用AI制作口播视频

开拍 289
查看详情 开拍

正则表达式的\w,表示a-z,A-Z,0-9还包括下划线。

通常使用正则的test方法来判断字符串是否与正则匹配,如果返回值为true,则匹配成功,返回false,匹配失败。

四、实现代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>使用JavaScript完成表单的校验</title>
        <script>
            //校验用户名
            function checkName(){
                var name=document.getElementById("name").value;
                var nameSpan=document.getElementById("nameSpan")
                //正则表达式判断用户名
                var reg=/^\w+$/;
                if(name.length<1){
                        nameSpan.innerHTML="<font size='1' color='red'>用户名不能为空</font>"
                    }else if(name.length<=6){
                        nameSpan.innerHTML="<font size='1' color='red'>用户名要至少六位</font>"
                    }else if(!reg.test(name)){
                        nameSpan.innerHTML="<font size='1' color='red'>只能由字母数字下划线组成</font>"
                    }else{
                        nameSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
                        return true;
                    }
                }
            //校验密码
            function checkCode(){
                var code=document.getElementById("code").value;
                var codeSpan=document.getElementById("codeSpan")
                if(code==''){
                    codeSpan.innerHTML="<font size='1' color='red'>密码不能为空</font>"
                }else if(code.length<6){
                    codeSpan.innerHTML="<font size='1' color='red'>密码至少六位</font>"
                }else{
                    codeSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
                    return true;
                }
            }
            //校验邮箱
            function checkEmail(){
                var email=document.getElementById("email").value;
                var emailSpan=document.getElementById("emailSpan")
                //用正则判断邮箱格式
                var reg=/^\w+[@]\w+[.comn]{3,4}$/;
                if(email==''){
                        emailSpan.innerHTML="<font size='1' color='red'>邮箱不能为空</font>"
                }else if(!reg.test(email)){
                    emailSpan.innerHTML="<font size='1' color='red'>邮箱格式不正确</font>"
                }else{
                    emailSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
                    return true;
                }
            }
            //校验所有信息,决定表单是否提交
            function checkForm(){
                if(checkName()&&checkCode()&&checkEmail()){
                    return true;
                }
                return false;
            }
        </script>
    </head>
    <body>
            <form id="regist" onsubmit="return checkForm()" action="http://www.baidu.com" method="get" style="margin-left: 520px;width: 400px;padding-left: 20px; height: 280px;border: 1px solid darkgray;">
                <h3>注册表单</h3>
                用户名:<input type="text" id="name" name="username" onblur="checkName()"/>
                    <span id="nameSpan" ></span><br/><br />
                 密码:<input type="password" id="code" name="password" onblur="checkCode()"/>
                    <span id="codeSpan"></span><br/><br />
                 邮箱:<input type="text" id="email" name="email" onblur="checkEmail()"/>
                    <span id="emailSpan"></span><br/><br />
                      <input type="submit" value="注册"/>
                 <input type="reset" value="重置"/>
            </form>
    </body>
</html>
登录后复制

 更多相关教程请访问 JavaScript视频教程

相关标签:
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:CSDN博客网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号