本文实例为大家分享了js表单验证的实现方法,供大家参考,具体内容如下
第一种:js表单验证
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>注册-个人用户</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <script src="//cdn.bootcss.com/jquery/3.0.0-beta1/jquery.js"></script> <style> body { font-family: Arial, "宋体", Lucida, Verdana, Helvetica, sans-serif; font-size: 12px; color: #333; line-height: 150%; background: #f2f2f2; } .hide{display:none;} .focus,.error { color: #e4393c; line-height: 36px; height: 36px; position: absolute; top: 0px; width: 260px; padding: 0 5px; background: #FFEBEB; border: 1px solid #ffbdbe; } .error span,.focus span { padding: 5px 0; line-height: 13px; display: block; } .focus { color: #666; width: 260px;; line-height: 36px; background: #f7f7f7; border: 1px solid #dddddd; } .regist { width: 990px; padding: 0; margin: 0 auto; zoom: 1; } .mc { padding: 30px 0 20px; border: solid #dddddd; border-width : 0px 1px 1px; background: #FFF; overflow: hidden; zoom: 1; border-width: 0px 1px 1px; } .form { float: left; width: 750px; font-size: 12px; } .form label,.form input,.form select,.form textarea,.form button,.form .label { float: left; font-size: 12px; } .item { padding-top: 9px; height: 60px; line-height: 34px; position: relative; z-index: 1; } .label { float: left; width: 190px; text-align: right; font-size: 14px; color: #999; padding-right: 10px; } .input { float: left; position: relative; width: 270px; overflow: visible; } .text { float: none; width: 275px; height: 37px; line-height: 32px; border: 1px solid #cccccc; font-size: 14px; font-family: arial, "宋体"; overflow: hidden; } </style> </head> <body> <p class="regist"> <p class="mc"> <form id="personRegForm" class="form" action="login.html" method="POST" onsubmit="return validateForm();"> <p class="item"> <span class="label">用户名:</span> <p class="input"> <input type="text" id="username" name="username" class="text"> <label id="username_msg" class="hide"></label> </p> </p> <p class="item"> <span class="label">请设置密码:</span> <p class="input"> <input type="password" id="password" name="password" class="text"> <label id="pwd_msg" class="hide"></label> </p> </p> <p class="item"> <span class="label">请确认密码:</span> <p class="input"> <input type="password" id="pwdRepeat" name="pwdRepeat" class="text"> <label id="pwdRepeat_msg" class="hide"></label> </p> </p> <p class="item"> <span class="label">验证邮箱:</span> <p class="input"> <input type="text" id="mail" name="mail" class="text"> <label id="mail_msg" class="hide"></label> </p> </p> <p class="item"> <span class="label"> </span> <input type="submit" class="btn-img" id="registsubmit" value="立即注册" /> </p> </form> </p> </p> <script> window.onload = function(){ // 1. 用户名 $("#username").focus(function(){ /* 获取焦点 var username_msg = $("#username_msg"); username_msg.text("4-20位字符,支持英文、数字及'-'、'_'组合"); username_msg.attr("class","focus"); */ elemFocus("username_msg","4-20位字符,支持英文、数字及'-'、'_'组合"); }).blur(userValidator); // 2. 密码 $("#password").focus(function(){ elemFocus("pwd_msg","6-20位字符,可使用字母、数字的组合"); }).blur(pwdValidator); // 3. 确认密码 $("#pwdRepeat").focus(function(){ elemFocus("pwdRepeat_msg","6-20位字符,可使用字母、数字的组合"); }).blur(pwdRepeatValidator); // 4. Email $("#mail").focus(function(){ elemFocus("mail_msg","完成验证后,可以使用该邮箱登录和找回密码"); }).blur(emailValidator); } // 定义函数 - 通用的信息提示 function elemFocus(eleId,text){ var ele_msg = $("#"+eleId); ele_msg.text(text); ele_msg.attr("class","focus"); } // 定义验证用户名的函数 function userValidator(){ // 获取用户名输入的值 var value = $("#username").val(); // 获取用于显示提示信息的元素 var username_msg = $("#username_msg"); // 验证逻辑 if(value==""||value==null){ username_msg.text("用户名不能为空"); username_msg.attr("class","error"); return false; }else if(value.length<4||value.length>20){ username_msg.text("用户名的长度不正确"); username_msg.attr("class","error"); return false; }else if(!/^[a-zA-Z0-9-_]{4,20}$/.test(value)){ username_msg.text("用户名输入不正确"); username_msg.attr("class","error"); return false; } // 验证通过修改正确样式 if(!username_msg.hasClass("hide")){ username_msg.text(""); username_msg.attr("class","hide"); } return true; } // 定义验证密码的函数 function pwdValidator(){ var value = $("#password").val(); var pwd_msg = $("#pwd_msg"); if(value==""||value==null){ pwd_msg.text("密码不能为空"); pwd_msg.attr("class","error"); return false; }else if(value.length<6||value.length>20){ pwd_msg.text("密码的长度不正确"); pwd_msg.attr("class","error"); return false; }else if(!/^[a-zA-Z0-9]{6,20}$/.test(value)){ pwd_msg.text("密码输入不正确"); pwd_msg.attr("class","error"); return false; } if(!pwd_msg.hasClass("hide")){ pwd_msg.text(""); pwd_msg.attr("class","hide"); } return true; } // 定义确认密码验证的函数 function pwdRepeatValidator(){ var value = $("#pwdRepeat").val(); var pwdRepeat_msg = $("#pwdRepeat_msg"); var pwd = $("#password").val(); if(value==""||value==null){ pwdRepeat_msg.text("密码不能为空"); pwdRepeat_msg.attr("class","error"); return false; }else if(value.length<6||value.length>20){ pwdRepeat_msg.text("密码的长度不正确"); pwdRepeat_msg.attr("class","error"); return false; }else if(!/^[a-zA-Z0-9]{6,20}$/.test(value)){ pwdRepeat_msg.text("密码输入不正确"); pwdRepeat_msg.attr("class","error"); return false; }else if(value != pwd){ pwdRepeat_msg.text("两次密码输入不一致"); pwdRepeat_msg.attr("class","error"); return false; } if(!pwdRepeat_msg.hasClass("hide")){ pwdRepeat_msg.text(""); pwdRepeat_msg.attr("class","hide"); } return true; } // 定义Email验证的函数 function emailValidator(){ var value = $("#mail").val(); var email_msg = $("#mail_msg"); if(value==""||value==null){ email_msg.text("Email不能为空"); email_msg.attr("class","error"); return false; }else if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value)){ email_msg.text("Email格式不正确"); email_msg.attr("class","error"); return false; } if(!email_msg.hasClass("hide")){ email_msg.text(""); email_msg.attr("class","hide"); } return true; } function validateForm(){ if(!userValidator()||!pwdValidator()||!pwdRepeatValidator()||!emailValidator()){ return false; } return true; } </script> </body> </html>
第二种:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <style> * { padding: 0; margin: 0; } form { width: 570px; height: 300px; margin: 100px auto; } label { width: 64px; float: left; clear: left; height: 36px; line-height: 36px; margin-top: 10px; } input { width: 300px; height: 36px; line-height: 36px; margin-top: 10px; text-indent: 8px; font-size: 16px; font-family: "微软雅黑"; border: 1px solid #ccc; float: left; } #sub { width: 302px; height: 40px; border: 1px solid #ccc; background: #888; color: #fff; font-size: 18px; text-indent: 0; } .spa { height: 36px; line-height: 36px; width: 204px; display: inline-block; float: left; font-size: 12px; color: #BD362F; text-indent: 10px; margin-top: 10px; } </style> </head> <body> <form action="" method="post"> <label id="name">姓 名:</label><input type="text" name="username" id="username" value="" placeholder="请输入姓名" /><span class="spa spa1"></span><br /> <label id="phone">手机号:</label><input type="text" name="userphone" id="userphone" value="" placeholder="请输入手机号" /><span class="spa spa2"></span><br /> <label id="address">地 址:</label><input type="text" name="useraddress" id="useraddress" value="" placeholder="请输入地址" /><span class="spa spa3"></span><br /> <label> </label><input type="submit" value="注册" id="sub" /> </form> <script src="http://code.jquery.com/jquery-1.4.1.js"></script> <script type="text/javascript"> window.onload = function() { $("#username").focus() } /************************ 失焦判断 **********************************/ $("input").blur(function() { $(".spa").css("color", "#BD362F") if($(this).is("#username")) { //姓名判断 var na = /^[\u4E00-\u9FA5]{2,4}$/ if($("#username").val() != "") { if(!(na.test($("#username").val()))) { $(".spa1").text("请输入2-4个汉字"); $(this).css("border", "1px solid #BD362F") return false; } else if(na) { $(".spa1").text(""); return true; } } else { $(".spa1").text(""); } } if($(this).is("#userphone")) { //手机号判断 var ph = /^1[3|5|7|8|][0-9]{9}$/ if($("#userphone").val() != "") { if(!(ph.test($("#userphone").val()))) { $(".spa2").text("请输入正确手机号"); $(this).css("border", "1px solid #BD362F") return false; } else if(ph) { $(".spa2").text(""); return true; } } else { $(".spa2").text(""); } } if($(this).is("#useraddress")) { //地址判断 var ad = /^(?=.*?[\u4E00-\u9FA5])[\dA-Za-z\u4E00-\u9FA5]{8,32}/; if($("#useraddress").val() != "") { if(!(ad.test($("#useraddress").val()))) { $(".spa3").text("请输入正确地址"); $(this).css("border", "1px solid #BD362F") return false; } else if(ad) { $(".spa3").text(""); return true; } } else { $(".spa3").text(""); } } }) /********************** 聚焦提示 ************************/ $("input").focus(function() { if($(this).is("#username")) { $(".spa1").text("四个汉字").css("color", "#aaa") $(this).css("border", "1px solid #aaa") } if($(this).is("#userphone")) { $(".spa2").text("11位手机号码").css("color", "#aaa") $(this).css("border", "1px solid #aaa") } if($(this).is("#useraddress")) { $(".spa3").text("最少8个字符(汉字、字母和数字)").css("color", "#aaa") $(this).css("border", "1px solid #aaa") } }) /*********************** 提交验证 ***************************/ $("#sub").click(function() { var na = /^[\u4E00-\u9FA5]{2,4}$/; //姓名正则 var ph = /^1[3|5|7|8|][0-9]{9}$/; //手机号正则 var ad = /^(?=.*?[\u4E00-\u9FA5])[\dA-Za-z\u4E00-\u9FA5]{8,32}/; //地址正则 if(na.test($("#username").val()) && ph.test($("#userphone").val()) && ad.test($("#useraddress").val())) { return true; } else { if($("#username").val() == "") { $(".spa1").text('请你填写用户名') } if($("#userphone").val() == "") { $(".spa2").text('请你填写手机号') } if($("#useraddress").val() == "") { $(".spa3").text('请你填写地址') } return false; } }) </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。
更多JavaScript表单验证的两种实现方法相关文章请关注PHP中文网!

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma