cari
Rumahhujung hadapan webtutorial jsJavaScript中如何实现注册表单的校验实例分析(图)

说明:在点击提交时进行表单校验,具体要求如下:

1)用户名为3~16个字符,且不能包含”@”和”#”字符;

2)密码和校验密码必须一致,且长度在8个字符到16个字符;

3)兴趣爱好至少选择一项;

4)政治面貌必须为党员;

5) 所有输入符合要求后提示“注册成功”。

HTML代码为:在(register.html中)


<!DOCTYPE html><html lang="en">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <!--<meta charset="UTF-8">-->
    <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="../css/myStyle.css">
    <title>用户注册</title></head><body><p class="container">

    <form class="form-horizontal"  role="form">
        <p class="form-group">
        <p class="col-sm-6" >
            <legend class="title" >用户注册信息</legend>
        </p>
        </p>

        <p class="form-group">
            <label for="user-name" class="col-sm-2 control-label">用户名:</label>
            <p class="col-sm-3">
                <input type="text" class="form-control" id="user-name" onblur="checkUserName()"
                       placeholder="请输入用户名"/>
            </p>
            <p class="col-sm-2">
                <span id="nameInfo"></span>
            </p>
        </p>
        <p class="form-group">
            <label for="password" class="col-sm-2 control-label">密码:</label>
            <p class="col-sm-3">
                <input type="password" class="form-control" id="password"  onblur="checkRepassword()"
                       placeholder="请输入密码"/>
            </p>
            <p class="col-sm-2">
                <span id="passwordInfo"></span>
            </p>

        </p>
        <p class="form-group">
            <label for="repassword" class="col-sm-2 control-label">校验密码:</label>
            <p class="col-sm-3">
                <input type="password" class="form-control" id="repassword" onblur="checkRepassword()"
                       placeholder="请输入校验密码">
            </p>
            <p class="col-sm-2">
                <span id="repasswordInfo"></span>
            </p>
        </p>
        <p class="form-group">
            <label  for="nativeplace" class="col-sm-2 control-label">籍贯:</label>
            <p class="col-sm-2">
                <select id="nativeplace">
                    <option value="zhejiang">浙江</option>
                    <option value="fujian">福建</option>
                    <option value="anhui">安徽</option>
                    <option value="sichuan">四川</option>
                </select>
            </p>

        </p>
        <p class="form-group">
            <label class="col-sm-2 control-label">兴趣爱好:</label>
            <p class="col-sm-6" >
                <p onblur="checkHobby()">
                <!--通过将 .checkbox-inline 或 . 类应用到一系列的多选框或单选框空间上,可以使这些控件排列在一行-->
                <label class="checkbox-inline">
                  <input type="checkbox" id="inlineCheckbox1" name="hobby" value="basketball">篮球                </label>
                <label class="checkbox-inline">
                  <input type="checkbox" id="inlineCheckbox2" name="hobby" value="soccer">足球                </label>
                <label class="checkbox-inline">
                   <input type="checkbox" id="inlineCheckbox3" name="hobby"  value="writing" checked="checked">书法                </label>
                <label class="checkbox-inline">
                   <input type="checkbox" id="inlineCheckbox4"  name="hobby" value="music">音乐                </label>
                <br/>
                <label class="checkbox-inline">
                    <input type="checkbox" id="inlineCheckbox5" name="hobby" value="painting">绘画                </label>
                <label class="checkbox-inline">
                    <input type="checkbox" id="inlineCheckbox6" name="hobby" value="free-combat">散打                </label>
                <label class="checkbox-inline">
                    <input type="checkbox" id="inlineCheckbox7" name="hobby" value="yoga" >瑜伽                </label>
                <label class="checkbox-inline">
                    <input type="checkbox" id="inlineCheckbox8" name="hobby" value="other">其他                </label>
                <span id="hobbyInfo"></span>
                    </p>
            </p>
       </p>
        <p class="form-group" onblur="checkStatus()">
            <label  class="col-sm-2 control-label">政治面貌:</label>
            <p class="col-sm-4">
                <label class="radio-inline">
                    <input type="radio" name="inlineRadioOptions" value="党员" checked="checked">党员                </label>
                <label class="radio-inline">
                    <input type="radio" name="inlineRadioOptions" value="团员" checked="" >团员                </label>
                <label class="radio-inline">
                    <input type="radio" name="inlineRadioOptions" value="群众" checked="">群众                </label>
            </p>
        </p>

        <p class="form-group">
            <p class="col-sm-offset-2 col-sm-10">
                <button type="submit" id="submit" class="btn btn-success" onclick="validateForm()">提交</button>
                <button type="submit" class="btn btn-warning">重置</button>
                <br/>
                <br/>
                <label><a href="#">注册帮助信息请点击这里</a></label>
            </p>
        </p>
        </form>
        </p>
        <script type="text/javascript" src="../js/jquery-2.1.4.min.js">
        </script>
        <script type="text/javascript" src="../js/bootstrap.min.js">
        </script>
        <script type="text/javascript" src="../js/register.js">
        </script>
        </body>
        </html>

 

CSS代码为:(在myStyle.css中)


form{
  background-color: #fafdec;

}legend{
   position: relative;
    text-align: center;
    height: 50px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 2px;
    background-color: #e9e9e9;
    font-family: Consolas;
    font-size: 1.5em;
}label{
    align-content: center;
    text-align: center;
    font-size: 1.1em;
}button{
    margin-right: 18px;
}.text{
    width: 500px;
    height: 100px;
}.col-sm-2 span{
    color:red;
}

 

JavaScript代码为:(封装在register.js文件中)


/* Created by Microsoft on 2016/7/30.*/$(document).ready(function () {   
function validateForm(){     
if(checkUserName()&&checkPassword()&&checkRepassword()&&checkHobby()&&checkStatus()){
         alert("恭喜您!注册成功!");
     }
}
});//验证用户名(为3~16个字符,且不能包含”@”和”#”字符)function checkUserName(){    
var name=document.getElementById("user-name").value.trim();    
var nameRegex=/^[^@#]{3,16}$/;    
if(!nameRegex.test(name)){
        document.getElementById("nameInfo").innerHTML="用户名为3~16个字符,且不能包含”@”和”#”字符";
    }else{
        document.getElementById("nameInfo").innerHTML="";        
        return true;
    }

}//验证密码(长度在8个字符到16个字符)function checkPassword(){    
var password=document.getElementById("password").value.trim();    
//var password=$("#password").value;
    $("#passwordInfo").innerHTML="";    //密码长度在8个字符到16个字符,由字母、数字和".""-""_""@""#""$"组成
    //var passwordRegex=/^[0-9A-Za-z.\-\_\@\#\$]{8,16}$/;
    //密码长度在8个字符到16个字符,由字母、数字和"_"组成
    var passwordRegex=/^[0-9A-Za-z_]\w{7,15}$/;    
    if(!passwordRegex.test(password)){
        document.getElementById("passwordInfo").innerHTML="密码长度必须在8个字符到16个字符之间";
    }else{
        document.getElementById("passwordInfo").innerHTML="";
    }
}//验证校验密码(和上面密码必须一致)function checkRepassword(){    
var repassword=document.getElementById("repassword").value.trim();    
//校验密码和上面密码必须一致
    if(repassword!==password){
        document.getElementById("repasswordInfo").innerHTML="两次输入的密码不一致";
    }else if(repassword==password){
        document.getElementById("repasswordInfo").innerHTML="";
    }
}//验证兴趣爱好(至少选择一项)即,多选框非空function checkHobby(){    
var textbox=document.getElementsByName("hobby");
    $(&#39;input[type=checkbox]&#39;).click(function(){        
    if($("input[name=&#39;hobby&#39;]:checked").length!=0 ) {            
    return true;
        }
    });
}//验证政治面貌(必须为党员)function checkStatus(){
    $(function(){
        $("#submit").click(function(){            
        var val=$(&#39;input:radio[name="inlineRadioOptions"]:checked&#39;).val();            
        if(val==null){
                alert("请选中一个!");                
                return false;
            }            
            else if(val=="党员"){                
            return true;
            }
        });
    });
}

 

效果截图:

总体界面为:

 

1)用户名为3~16个字符,且不能包含”@”和”#”字符;

2)密码和校验密码必须一致,且长度在8个字符到16个字符;

 

3) 验证符合要求后提示“注册成功”

 

 

Atas ialah kandungan terperinci JavaScript中如何实现注册表单的校验实例分析(图). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Jenis data JavaScript: Adakah terdapat perbezaan antara penyemak imbas dan nodej?Jenis data JavaScript: Adakah terdapat perbezaan antara penyemak imbas dan nodej?May 14, 2025 am 12:15 AM

Jenis data teras JavaScript adalah konsisten dalam penyemak imbas dan node.js, tetapi ditangani secara berbeza dari jenis tambahan. 1) Objek global adalah tetingkap dalam penyemak imbas dan global di Node.js. 2) Objek penampan unik Node.js, digunakan untuk memproses data binari. 3) Terdapat juga perbezaan prestasi dan pemprosesan masa, dan kod perlu diselaraskan mengikut persekitaran.

Komen JavaScript: Panduan untuk menggunakan // dan / * * /Komen JavaScript: Panduan untuk menggunakan // dan / * * /May 13, 2025 pm 03:49 PM

JavaScriptusestWotypesofcomments: Single-line (//) danMulti-line (//)

Python vs JavaScript: Analisis Perbandingan untuk PemajuPython vs JavaScript: Analisis Perbandingan untuk PemajuMay 09, 2025 am 12:22 AM

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Python vs JavaScript: Memilih alat yang sesuai untuk pekerjaanPython vs JavaScript: Memilih alat yang sesuai untuk pekerjaanMay 08, 2025 am 12:10 AM

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan javascript: memahami kekuatan masing -masingPython dan javascript: memahami kekuatan masing -masingMay 06, 2025 am 12:15 AM

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Inti JavaScript: Adakah ia dibina di atas C atau C?Inti JavaScript: Adakah ia dibina di atas C atau C?May 05, 2025 am 12:07 AM

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

Aplikasi JavaScript: Dari Front-End ke Back-EndAplikasi JavaScript: Dari Front-End ke Back-EndMay 04, 2025 am 12:12 AM

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Python vs JavaScript: Bahasa mana yang harus anda pelajari?Python vs JavaScript: Bahasa mana yang harus anda pelajari?May 03, 2025 am 12:10 AM

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini