Bootstrap4表单验证(纯JavaScript方法)

Bootstrap4表单验证

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


一、示例代码


<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>表单验证title>
    
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    
    <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="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表单验证其中一种实现方法。官网上还有各种各样的实现。


二、效果图

样式
Bootstrap4表单验证(纯JavaScript方法)_第1张图片
效果1
Bootstrap4表单验证(纯JavaScript方法)_第2张图片
效果2
Bootstrap4表单验证(纯JavaScript方法)_第3张图片

你可能感兴趣的:(网页前端)