使用JQuery實(shí)現(xiàn)智能表單驗(yàn)證功能
來(lái)源:易賢網(wǎng) 閱讀:813 次 日期:2016-07-22 15:26:41
溫馨提示:易賢網(wǎng)小編為您整理了“使用JQuery實(shí)現(xiàn)智能表單驗(yàn)證功能”,方便廣大網(wǎng)友查閱!

先給大家展示下表單效果圖,具體效果如下所示:

名單

1.前臺(tái)一開(kāi)始用JQuery實(shí)現(xiàn),先來(lái)上HTML標(biāo)記:

<body>

<form id="form1" runat="server">

<table class="tble">

<tr><td class="td1">用戶名 <input type="text" class="td" /></td></tr>

<tr><td class="td2">密碼 <input type="text" class="td"/></td></tr>

<tr><td class="td3">郵箱 <input type="text" class="td" /></td></tr>

<tr><td class="td4">確認(rèn)密碼 <input type="text" class="td" /></td></tr>

<tr><td><input class="btton1" type="button" value="提交" /></td><td><input class="btton2" type="reset" value="重置" /></td></tr>

</table>

</form>

</body>

2,然后是CSS代碼:

<style type="text/css">

.tble

{

font-size:14px;

text-align:right;

position:absolute;

left:550px;

top:150px;

}

.td

{

border:2px #CCCCCC solid;

}

.btton1

{

position:absolute;

left:65px;

}

.btton2

{

position:absolute;

left:110px;

}

.span

{

color:#cccccc;

font-size:14px;

text-align:right;

}

.spanPwd2

{

color:Red;

}

.spanPwd3

{

color:Red;

}

.spanPwd4

{

color:Red;

}

.spanPwd5

{

color:Green;

}

.spanPwd6

{

color:Red;

}

</style>

3.編寫JQUery代碼前需要引入JQuery支持文件:

?

1

<script src="jquery-1.4.1.min.js" type="text/javascript"></script>

4.現(xiàn)在開(kāi)始編寫JQuery代碼:

<script type="text/javascript">

$(function () {

GetStyle();

GetPassword();

GetEmail();

function GetStyle() {

$("input.td").focus(function () {

//===================密碼樣式處理===================================

$(this).css("border", "2px #00ccff solid");

var span = "<td class='span'><span>請(qǐng)輸入密碼</span></td>";

$(this).parent().parent().find("td.td2").after(span);

$(this).parent().parent().find("td.spanPwd2").remove();

$(this).parent().parent().find("td.spanPwd3").remove();

$(this).parent().parent().find("td.spanPwd4").remove();

$(this).parent().parent().find("td.spanPwd5").remove();

//==================================================================

//================郵箱樣式處理==============================

$(this).css("border", "2px #00ccff solid");

var spanEmail = "<td class='span'><span>請(qǐng)輸入正確郵箱地址</span></td>";

$(this).parent().parent().find("td.td3").after(spanEmail);

$(this).parent().parent().find("td.spanPwd6").remove();

$(this).parent().parent().find("td.spanPwd5").remove();

//===================用戶名樣式處理========================

$(this).css("border", "2px #00ccff solid");

var spanEmail = "<td class='span'><span>請(qǐng)輸入正確用戶名</span></td>";

$(this).parent().parent().find("td.td1").after(spanEmail);

$(this).parent().parent().find("td.spanPwd6").remove();

$(this).parent().parent().find("td.spanPwd5").remove();

})

}

//================確認(rèn)密碼的驗(yàn)證================================

//非空驗(yàn)證

//確認(rèn)密碼與原密碼一致性的驗(yàn)證

function GetPassword() {

$("input.td").blur(function () {

//================密碼驗(yàn)證=================================

//非空驗(yàn)證

if ($(this).val() == "") {

$(this).css("border", "2px red solid");

$(this).parent().parent().find("td.span").remove();

var span = "<td class='spanPwd2'><span>密碼不能為空!</span></td>";

$(this).parent().parent().find("td.td2").after(span);

return false;

}

//密碼長(zhǎng)度的驗(yàn)證

else if ($(this).val().length < 6 || $(this).val().length > 12) {

$(this).css("border", "2px red solid");

$(this).parent().parent().find("td.span").remove();

var span = "<td class='spanPwd3'><span>密碼長(zhǎng)度必須為6位到12位之間!</span></td>";

$(this).parent().parent().find("td.td2").after(span);

return false;

}

//如果密碼不為數(shù)字

else if (isNaN($(this).val()) == true) {

$(this).css("border", "2px red solid");

$(this).parent().parent().find("td.span").remove();

var span = "<td class='spanPwd4'><span>密碼必須為數(shù)字!</span></td>";

$(this).parent().parent().find("td.td2").after(span);

return false;

}

else {

//密碼格式通過(guò)

$(this).css("border", "2px #cccccc solid");

$(this).parent().parent().find("td.span").remove();

var span = "<td class='spanPwd5'><span>密碼格式通過(guò)!</span></td>";

$(this).parent().parent().find("td.td2").after(span);

return true;

}

});

}

//=====================郵箱驗(yàn)證開(kāi)始========================

function GetEmail() {

$(".td3 input").blur(function () {

var patten = new RegExp(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/);

//非空驗(yàn)證

if ($(".td3 input").val() == "") {

$(this).css("border", "2px red solid");

$(this).parent().parent().find("td.span").remove();

var spanxEmail = "<td class='spanPwd6'><span>郵箱不能為空!</span></td>";

$(this).parent().parent().find("td.td3").after(spanxEmail);

return false;

}

//郵箱格式驗(yàn)證

else if (patten.test($(".td3 input").val()) == false) {

$(this).css("border", "2px red solid");

$(this).parent().parent().find("td.span").remove();

var span = "<td class='spanPwd4'><span>郵箱格式不正確,請(qǐng)重新填寫 !</span></td>";

$(this).parent().parent().find("td.td3").after(span);

return false;

} else {

//郵箱格式通過(guò)

$(this).css("border", "2px #cccccc solid");

$(this).parent().parent().find("td.span").remove();

var spanEmail = "<td class='spanPwd5'><span>郵箱格式通過(guò)!</span></td>";

$(this).parent().parent().find("td.td3").after(spanEmail);

return true;

}

});

}

//==========================郵箱驗(yàn)證結(jié)束============================

//================用戶名驗(yàn)證=================================

function GetUserName() {

$(".td1 input").blur(function () {

//非空驗(yàn)證

if ($(this).val == "") {

$(this).css("border", "2px red solid");

$(this).parent().parent().find("td.span").remove();

var span = "<td class='spanPwd6'><span>用戶名郵箱不能為空!</span></td>";

$(this).parent().parent().find("td.td1").after(span);

return false;

}

//用戶名長(zhǎng)度的驗(yàn)證 

else if ($(this).length < 4 || $(this).length > 20) {

$(this).css("border", "2px red solid");

$(this).parent().parent().find("td.span").remove();

var spanxEmail = "<td class='spanPwd6'><span>用戶名格式不對(duì),只能輸入4-20字符!</span></td>";

$(this).parent().parent().find("td.td1").after(spanxEmail);

return false;

}

//用戶名格式驗(yàn)證通過(guò)

else {

$(this).css("border", "2px #cccccc solid");

$(this).parent().parent().find("td.span").remove();

var spanUserName = "<td class='spanPwd5'><span>用戶名格式通過(guò)!</span></td>";

$(this).parent().parent().find("td.td3").after(spanUserName);

return true;

}

});

}

//========================點(diǎn)擊按鈕與服務(wù)器互交驗(yàn)證==============

$("tr td input.btton1").click(function () {

if (GetUserName() && GetEmail() && GetPassword()) {

var userName = $("td.td1 input").val(); //用戶名 

var userPwd = $("td.td2 input").val(); //密碼

var userRepass = $("td.td3 input").val(); //確認(rèn)密碼

var email = $("td.td4 input").val(); //郵箱 

GetAjax(userName, userPwd, userRepass, email);

}

});

function GetAjax(userName, userPwd, userRepass, email) {

var json = [{ "userName": userName, "userPwd": userPwd, "userRepass": userRepass, "email": email}];

$.post("ProcessResult.aspx?jon=" + json, function (data) {

if (data == "false") {

alert("用戶名重復(fù)了,請(qǐng)重新輸入!");

} else if (data == "ok") {

alert("注冊(cè)成功!");

} else {

alert("對(duì)不起,你的輸入有誤,請(qǐng)檢查輸入");

}

})

}

});

</script>

5,實(shí)現(xiàn)如下效果:

名單

我沒(méi)有實(shí)現(xiàn)后臺(tái)JQuery校驗(yàn),下次有機(jī)會(huì)一并補(bǔ)上,這次先寫到這里,只實(shí)現(xiàn)純前端的效果。

關(guān)于使用JQuery實(shí)現(xiàn)智能表單驗(yàn)證功能的相關(guān)知識(shí)就給大家介紹到這里,希望對(duì)大家有所幫助!

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:使用JQuery實(shí)現(xiàn)智能表單驗(yàn)證功能
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)