基于jquery實(shí)現(xiàn)即時(shí)檢查格式是否正確的表單
現(xiàn)在很多網(wǎng)站的注冊(cè)模塊都可以實(shí)現(xiàn)即時(shí)檢查格式是否正確,這樣極大的增強(qiáng)了用戶體驗(yàn),對(duì)開發(fā)非常有利。
下面的代碼是利用jquery實(shí)現(xiàn)了對(duì)一個(gè)表單字段格式的即時(shí)檢查(包括字段長(zhǎng)度、郵箱格式),同時(shí)在提交時(shí),再次出發(fā)檢查事件。
注意這個(gè)檢查是keyup和focus上為主,利用這兩個(gè)事件來(lái)觸發(fā)blur(失去焦點(diǎn))事件。
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="jquery-1.3.2.min.js"></script>
<script>
$(function () {
//為每個(gè)必填字段后面加上*
$("form :input.required").each(function () {
var $required = $("<strong class='high'>*</strong>");
$(this).parent().append($required);
});
//textbox失去焦點(diǎn)事件
$("form :input").blur(function () {
var $parent = $(this).parent();
$parent.find(".formtips").remove();
if ($(this).is('#username')) {
if (this.value == "" || this.value.length < 6) {
var errorMsg = "請(qǐng)輸入至少6位的用戶名";
$parent.append('<span class="formtips onError">' + errorMsg + "</span>");
} else {
var okMsg = "輸入正確"
$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
}
}
if ($(this).is('#email')) {
if (this.value == "" || (this.value != "" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value))) {
var errorMsg = "請(qǐng)輸入正確的E-Mail地址";
$parent.append('<span class="formtips onError">' + errorMsg + "</span>");
} else {
var okMsg = "輸入正確"
$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
}
}
}).keyup(function () {
$(this).triggerHandler("blur");//keyup和focus利用triggerHandler來(lái)觸發(fā)blur事件
}).focus(function () {
$(this).triggerHandler("blur");
});
$("#send").click(function () {//提交按鈕事件
$("form .required:input").trigger('blur');
var numError = $('form .onError').length;
if(numError)
{
return false;
}
alert("注冊(cè)成功,密碼已發(fā)到你的郵箱,請(qǐng)查收");
});
});
</script>
</head>
<body>
<form method="post" action="">
<div class="int">
<label for="username">用戶名</label>
<input type="text" id="username" class="required" />
</div>
<div class="int">
<label for="email">郵箱</label>
<input type="text" id="email" class="required" />
</div>
<div class="int">
<label for="=personinfo">個(gè)人資料</label>
<input type="text" id="personinfo" />
</div>
<div class="sub">
<input type="submit" value="提交" id="send" />
<input type="reset" id="res" />
</div>
</form>
</body>
</html>
更多內(nèi)容點(diǎn)擊:jquery表單驗(yàn)證大全
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)jquery程序設(shè)計(jì)有所幫助。
相關(guān)文章
jquery獲取特定name所有選中的checkbox,支持IE9標(biāo)準(zhǔn)模式
jquery獲取特定name所有選中的checkbox,支持IE9標(biāo)準(zhǔn)模式,需要的朋友可以參考一下2013-03-03
解決用jquery load加載頁(yè)面到div時(shí),不執(zhí)行頁(yè)面js的問(wèn)題
這篇文章主要介紹了解決用jquery load加載頁(yè)面到div時(shí),不執(zhí)行頁(yè)面js的問(wèn)題。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02
JQuery入門—JQuery程序的代碼風(fēng)格詳細(xì)介紹
良好的代碼風(fēng)格可以有效的增加可讀性,本節(jié)為大家介紹jQuery程序的代碼風(fēng)格,感興趣的朋友可以參考下2013-01-01
jQueryUI 拖放排序遇到滾動(dòng)條時(shí)有可能無(wú)法執(zhí)行排序的小bug及解決方案
前些日子不是在做使用Jquery-UI實(shí)現(xiàn)一次拖拽多個(gè)選中的元素操作嘛,在持續(xù)完善這個(gè)組件時(shí)遇到了一個(gè)關(guān)于拖放排序的bug。今天就著圖片和代碼重現(xiàn)一下,也順便告訴大家如何解決這個(gè)問(wèn)題2016-12-12
jquery 判斷div show的狀態(tài)實(shí)例
下面小編就為大家?guī)?lái)一篇jquery 判斷div show的狀態(tài)實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦2016-12-12
JQuery中對(duì)服務(wù)器控件 DropdownList, RadioButtonList, CheckboxList的操作
JQuery中對(duì)服務(wù)器控件 DropdownList, RadioButtonList, CheckboxList的操作總結(jié),需要的朋友可以參考下。2011-06-06
jQuery ui autocomplete選擇列表被Bootstrap模態(tài)窗遮擋的完美解決方法
這篇文章主要介紹了jQuery ui autocomplete選擇列表被Bootstrap模態(tài)窗遮擋的完美解決方法,本文介紹的非常詳細(xì),解決過(guò)程思路明了,需要的朋友可以參考下2016-09-09

