本篇文章主要給大家詳細介紹jQuery實作表單驗證提交的具體方法。
在上一篇文章【jQuery表單驗證提交:前台驗證一】中,已經給大家簡單列舉了jQuery實作表單驗證提交的具體方法程式碼。那麼本節內容就詳細的為大家介紹,jQuery實作表單驗證提交的具體方法。
主要程式碼範例如下:
<!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>jQuery用户注册表单验证代码</title> <link href="css/jq22.css" rel="stylesheet" type="text/css"/> <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script> <script language='javascript' src="js/jq22.js"></script> </head> <body> <div class='body_main'> <div class='index_box' style='margin-top:20px;'> <div style="position:fixed;color:red;margin:70px 0 0 450px;font-size:16px;Z-index:100;display:block;" id="hint"></div> <div class='box_title'> <div class='text_content'> <h1>jQuery用户注册表单验证代码</h1> </div> </div> <div class='box_main'> <div id="register" class="register"> <form id="form" action="check1.php" method="post" onSubmit="return check();"> <div id="form_submit" class="form_submit"> <div class="fieldset"> <div class="field-group"> <label class="required title">手机号码</label> <span class="control-group" id="mobile_input"> <div class="input_add_long_background"> <input class="register_input" type="text" id="mobile" name="mobile" maxLength="11" value="" onblur="__changeUserName('mobile');"> </div> </span> <label class="tips">仅用于发送服务开通与到期提醒以及紧急故障方便联系到您,绝对保密</label> </div> <div class="field-group"> <label class="required title">邮箱</label> <span class="control-group" id="email_input"> <div class="input_add_long_background"> <input class="register_input" type="text" id="email" name="email" maxLength="50" value="" onblur="__changeUserName('email');"> </div> </span> <label class="tips">请输入您常用的邮箱</label> </div> <div class="field-group"> <label class="required title">设置密码</label> <span class="control-group" id="password1_input"> <div class="input_add_long_background"> <input class="register_input" type="password" id="password1" name="password1" maxLength="20" value="" onblur="checkPwd1(this.value);"/> </div> </span> <label class="tips">请使用6~20个英文字母(区分大小写)、符号或数字</label> </div> <div class="field-group"> <label class="required title">确认密码</label> <span class="control-group" id="password2_input"> <div class="input_add_long_background"> <input class="register_input" type="password" id="password2" name="password2" maxLength="20" value="" onblur="checkPwd2(this.value);"/> </div> </span> <label class="tips">请输入确认密码,要和上面的密码一致</label> </div> </div> </div> <div id="div_submit" class="div_submit"> <div class='div_submit_button'> <input id="submit" type="submit" value="注册" class='button_button disabled'> </div> </div> </form> </div> <script type="text/javascript"> function __changeUserName(of) { var username = $('#' + of).val(); if (of == 'email') { if (username.search(/^[\w\.+-]+@[\w\.+-]+$/) == -1) { showTooltips('email_input', '请输入正确的Email地址'); return; } } else { if (username == '' || !isMobilePhone(username)) { showTooltips('mobile_input', '请输入正确的手机号码'); return; } } } function checkPwd1(pwd1) { if (pwd1.search(/^.{6,20}$/) == -1) { showTooltips('password1_input', '密码为空或位数太少'); } else { hideTooltips('password1_input'); } } function checkPwd2(pwd2) { var pas1 = $('#password1').val(); if (pwd2.search(/^.{6,20}$/) == -1) { showTooltips('password2_input', '密码为空或位数太少'); } if (pwd2 != pas1) { showTooltips('password2_input', '两次密码不一致'); } } function check() { hideAllTooltips(); var ckh_result = true; // if ($('#email').val() == '' || !isEmail($('#email').val())) { // showTooltips('email_input', '请输入正确的Email地址'); // ckh_result = false; // } if ($('#password1').val() == '') { showTooltips('password1_input', '密码不能为空'); ckh_result = false; } if ($('#password2').val() == '') { showTooltips('password2_input', '确认密码不能为空'); ckh_result = false; } if ($('#password2').val() != $('#password1').val()) { showTooltips('password2_input', '两次密码不一致'); ckh_result = false; } if ($('#mobile').val() == '' || !isMobilePhone($('#mobile').val())) { showTooltips('mobile_input', '手机号码不正确'); ckh_result = false; } return ckh_result; } function isMobilePhone(value) { if (value.search(/^(\+\d{2,3})?\d{11}$/) == -1) { return false; } else return true; } function isEmail(value) { if (value.search(/^[\w\.+-]+@[\w\.+-]+$/) == -1) { return false; } else return true; } </script> </div> <div class='box_bottom'></div> </div> </div> </body> </html>
上述程式碼中,我們簡單的寫了一個form表單,將前台資料提交到check1.php,提交方式為post,並且給form表單一個點擊事件。
當我們點擊提交的時候,就會進行一系列資訊判斷。而當我們沒有點擊註冊也就是沒有觸發點擊事件的話,也會有判斷。
如程式碼中的__changeUserName方法,在此方法中,我們先透過正規表示式判斷郵箱格式是否正確,手機號碼是否正確。以及在checkPwd1和checkPwd2方法中,判斷密碼是否符合要求,是否與第一次密碼相同。這些方法都是在沒有點擊註冊按鈕時發生的驗證。
當然有這些判斷也是不夠的,所以我們需要寫一個點擊註冊時會發生的驗證,如上程式碼中的check方法,其中我們將每個欄位都進行了判斷(後台需要的欄位都需要進行驗證)。
除了上述點擊註冊的驗證方法外,我們也可以給點擊註冊的按鈕綁定一個事件來判斷驗證。這裡就不一一贅述了。
其中涉及到的js和css程式碼,在上一篇文章【jQuery表單驗證提交:前台驗證一】中都有,需要的朋友可以前去參考。
這篇文章就是關於jQuery實作表單驗證提交的方法介紹,希望對需要的朋友有幫助!
想要了解更多前端相關知識,可以關注PHP中文網jQuery影片教學 、JavaScript影片教學、Bootstrap教學等等相關影片教程,歡迎大家參考學習!
以上是jQuery表單驗證提交:前台驗證二(圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!