Bootstrap4表单验证(纯JavaScript方法)

Bootstrap4表单验证

网上bootstrap4表单验证的文章实在太少了,当初做的时候老是摸不着头脑,现在我来分享一下自己的做法,希望小伙伴们少走点弯路


一、示例代码

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>表单验证</title>
    <!--bs4 css-->
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <!--js引用-->
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://cdn.bootcss.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
    <!--form表单onsubmit属性写上调用的js方法 如下调用checkForm()方法-->
    <form onsubmit="return checkForm()">
        <div class="form-group">
            <label for="username">用户名</label>
            <input type="text" class="form-control" name="username" id="username" placeholder="User Name">
            <!--放错误反馈-->
            <div class="invalid-feedback" id="username-feedback"></div>
        </div>
        <div class="form-group">
            <label for="password">密码</label>
            <input type="password" class="form-control" name="password" id="password" placeholder="Password">
        </div>
        <div class="form-group">
            <div class="checkbox" style="width:50%;float:left;">
                <label>
                    <input type="checkbox" name="remember"> 记住我
                </label>
            </div>
            <div style="width:50%;float:left;">
                <button type="submit" class="btn btn-primary btn-block">登录</button>
            </div>
        </div>
    </form>
</div>
<script>
    //以检查用户名不能为空不能有特殊符号为例
    function checkForm() {
        var username = document.getElementById("username");//获取username那个div
        var feedback = document.getElementById("username-feedback");
        //不能为空
        if(username.value==""){
            feedback.innerHTML = "用户名为空!";//修改username-feedback div中的内容
            username.classList.remove("is-valid");//清除合法状态
            username.classList.add("is-invalid");//添加非法状态
            return false;//onsubmit  return false阻止表单提交
        }
        //不能有特殊符号
        var patrn = /[@#\$%\^&\*]+/g;//正则表达式
        if(patrn.exec(username.value)){
            feedback.innerHTML = "用户名不能存在特殊符号!";
            username.classList.remove("is-valid");
            username.classList.add("is-invalid");
            return false;
        }

        //清除错误提示,改成成功提示
        username.classList.remove("is-invalid");
        username.classList.add("is-valid");
        feedback.innerHTML="";
        return true;
    }
</script>
</body>
</html>

要注意,这里只是bootstrap4表单验证其中一种实现方法。官网上还有各种各样的实现。


二、效果图

样式
样式
效果1
效果1
效果2
效果2

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值