前端数据校验

当前端做一些表单时,通常涉及到一些数据校验,比如字符长度,是否非空,两次输入数据是否一致。
这些功能完全可以通过脚本实现。

效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

废话不多说,直接上代码。

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数据校验</title>
    <!--    数据校验部分-->
    <script language="JavaScript" type="text/javascript">
        function checkUserName() {    //验证用户名
            var fname = document.myform.username.value;
            var reg = /^[0-9a-zA-Z]/;
            if (fname.length != 0) {
                for (i = 0; i < fname.length; i++) {
                    if (!reg.test(fname)) {
                        alert("只能输入字母或数字");
                        return false;
                    }
                }

            }
            else {
                alert("请输入用户名");
                document.myform.username.focus();
                return false;
            }
            return true;
        }

        function passCheck() { //验证密码
            var userpass = document.myform.password.value;
            if (userpass == "") {
                alert("未输入密码 \n" + "请输入密码");
                document.myform.password.focus();
                return false;
            }
            if (userpass.length < 6 || userpass.length > 12) {
                alert("密码必须在 6-12 个字符。\n");
                return false;
            }
            return true;
        }

        function passCheck2() {
            var p1 = document.myform.password.value;
            var p2 = document.myform.password2.value;
            if (p1 != p2) {
                alert("确认密码与密码输入不一致");
                return false;
            } else {
                return true;
            }
        }

        function checkEmail() {
            var Email = document.getElementById("email").value;
            var e = Email.indexOf("@" && ".");
            if (Email.length != 0) {
                if (e > 0) {
                    if (Email.charAt(0) == "@" && ".") {
                        alert("符号@和符号.不能再邮件地址第一位");
                        return false;
                    }
                    else {
                        return true;
                    }
                }
                else {
                    alert("电子邮件格式不正确\n" + "必须包含@符号和.符号!");
                    return false;
                }
            }
            else {
                alert("请输入电子邮件!");
                return false;
            }
        }

        function checkbirthday() {    //验证用户名
            var year = document.myform.birthday.value;
            if (year < 1949 || year > 2007) {
                alert("年份范围从1949-2007年");
                return false;
            }
            return true;
        }

        function validateform() {
            if (checkUserName() && passCheck() && passCheck2() && checkEmail() && checkbirthday())
                return true;
            else
                return false;
        }

        function clearText() {
            document.myform.user.value = "";
            document.myform.password.value = "";
        }

        //显示隐藏对应的switchPwd()方法:
        $(function () {
            // 通过jqurey修改
            $("#passwordeye").click(function () {
                let type = $("#password").attr('type')
                if (type === "password") {
                    $("#password").attr("type", "text");
                } else {
                    $("#password").attr("type", "password");
                }
            });
        });
    </script>
</head>
<body>

<form  name="myform" onsubmit="return validateform( )"  method="post">

        <h3>
            用户名:
        </h3>
        &nbsp;
        <input  id="username" name="adminId" type="text"style="height:40px" placeholder="只能输入字母或数字,4-16个字符" autocomplete="off">


        <h3>&nbsp;&nbsp;&nbsp;码:
        </h3>
        &nbsp;
        <input  id="password" name="password" type="password" style="height:40px" placeholder="密码长度6-12位" autocomplete="off">

    <h3>
        确认密码:
    </h3>
    &nbsp;
    <input  id="password2" name="password2" type="password" style="height:40px" value="" placeholder="密码长度6-12位" autocomplete="off">


    <div id="btn">
        <input class="btn btn-primary"   type="submit" id="login"  value="登录">
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </div>
</form>

</body>
</html>

代码很简单,一看就能看懂。

注意事项

  1. 各个数据命名要对应上。
    form要记得命名,与脚本中写的要对应上,
    各个输入框的id要对应好
    在这里插入图片描述
    在这里插入图片描述
  2. 触发条件要记得写,新加的校验条件【比如checkbirthday()】 要加进去,否则不会生效。
    在这里插入图片描述
    在这里插入图片描述
    常用的数据校验基本上就这些,都写在里面了,觉得用不上的,可以自行删除。
    如果您觉得本文对您有所帮助,请动动您写不出bug的小手,点个赞呗~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与 或

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值