1、使用正則表達(dá)式驗(yàn)證

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括成都網(wǎng)站制作、成都做網(wǎng)站、電商網(wǎng)站制作開發(fā)、微信小程序開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
function?RegeMatch(objVal){
var?pattern?=?new?RegExp("[~'!@#$%^*()-+_=:]");??
if(objVal?!=?""??objVal?!=?null){??
if(pattern.test(objVal)){??
alert("非法字符!");???
return?false;??
}??
}??
}
2、替換字符串中的所有特殊字符
function?ReplaceChar(objVal){
var?patternStr='!,@,#,$,%,^,,*,(,),-,+,_,=,:';
$.each(patternStr.split(','),function(key,val){
objVal.replace(val,'');
});
}
替換標(biāo)簽是指如何替換?
例如:spantest/span -- 替換成 divtest/div
這樣么?
如果是這樣的話,可以把內(nèi)容拿到,然后在后邊添加一個(gè)新的,然后刪除原有的。就可以啦。
var?content?=?$('#old').html();
var?new?=?$('div'+content+'/div');
new.after($('#old'));
$('#old').remove();
jquery中的字符串查找替換有2個(gè)類似的方法,但都是查找替換dom元素的方法,而不是查找替換純文本的方法。
1、replaceWith(),將所有匹配的元素替換成指定的HTML或DOM元素。
示例:
把所有的段落標(biāo)記替換成加粗的標(biāo)記。
HTML?代碼:
pHello/ppcruel/ppWorld/p
jQuery?代碼:
$("p").replaceWith("bParagraph.?/b");
結(jié)果:
bParagraph.?/bbParagraph.?/bbParagraph.?/b
2、replaceAll(),用匹配的元素替換掉所有 selector匹配到的元素
示例:
把所有的段落標(biāo)記替換成加粗標(biāo)記
HTML?代碼:
pHello/ppcruel/ppWorld/p
jQuery?代碼:
$("bParagraph.?/b").replaceAll("p");
結(jié)果:
bParagraph.?/bbParagraph.?/bbParagraph.?/b
注意:
如果需要查找純文本替換,可以直接使用js中的String.replace(regexp, replacement)
方法。
示例:
要確保單詞“JavaScript'’中的大寫字符是正確的,可用下列代碼:
text.replace(/javascript/i, "JavaScript");
答案是肯定的,先試試正則的效果。把所有圖片寬度設(shè)成90%,最簡(jiǎn)單的方法是在img標(biāo)簽中加入style屬性,然后在style中指定寬度。
用正則,第一步,先要匹配到所有img標(biāo)簽,由于img標(biāo)簽不一定有style屬性,要先判斷是否有style屬性,接下來(lái)直接在style屬性中加入width: 90%;?不,這樣可能會(huì)覆蓋掉原有的其他屬性,那就直接追加,追加不會(huì)覆蓋!還是不行,萬(wàn)一原來(lái)就有width呢。。。
還沒開始寫正則表達(dá)式,先想想過程,就已經(jīng)很繁瑣了,其實(shí)實(shí)現(xiàn)起來(lái)更加復(fù)雜。
幸好我們可以換個(gè)思路,借助于jQuery解決這個(gè)問題。
jQuery強(qiáng)大之處在于,它能直接將一個(gè)html字符串包裝成dom元素,這個(gè)dom元素不存在于當(dāng)前頁(yè)面中,它是放在內(nèi)存中的。
已寫好,如下:
!doctype?html
html
head
meta?charset="utf-8"
title無(wú)標(biāo)題文檔/title
/head
body
script?src=""/script
script
$(function(){
var?pContent?=?$("p").text();
$("p").hover(function(){
$(this).text($("span").text());
},function(){
$(this).text(pContent);
})
})
/script
divp我是p標(biāo)簽/p/div
span我是span標(biāo)簽span/
/body
/html
可以;
方法:var var j = jQuery.noConflict();
jQuery.noConflict([extreme])運(yùn)行這個(gè)函數(shù)將變量$的控制權(quán)讓渡給第一個(gè)實(shí)現(xiàn)它的那個(gè)庫(kù)。這有助于確保jQuery不會(huì)與其他庫(kù)的$對(duì)象發(fā)生沖突。 在運(yùn)行這個(gè)函數(shù)后,就只能使用jQuery變量訪問jQuery對(duì)象。
例如,在要用到$("div p")的地方,就必須換成jQuery("div p")。 '''注意:'''這個(gè)函數(shù)必須在你導(dǎo)入jQuery文件之后,并且在導(dǎo)入另一個(gè)導(dǎo)致沖突的庫(kù)'''之前'''使用。當(dāng)然也應(yīng)當(dāng)在其他沖突的庫(kù)被使用之前,除非jQuery是最后一個(gè)導(dǎo)入的。
語(yǔ)言特點(diǎn)
快速獲取文檔元素
jQuery的選擇機(jī)制構(gòu)建于Css的選擇器,它提供了快速查詢DOM文檔中元素的能力,而且大大強(qiáng)化了JavaScript中獲取頁(yè)面元素的方式。
提供漂亮的頁(yè)面動(dòng)態(tài)效果
jQuery中內(nèi)置了一系列的動(dòng)畫效果,可以開發(fā)出非常漂亮的網(wǎng)頁(yè),許多網(wǎng)站都使用jQuery的內(nèi)置的效果,比如淡入淡出、元素移除等動(dòng)態(tài)特效。
創(chuàng)建AJAX無(wú)刷新網(wǎng)頁(yè)
AJAX是異步的JavaScript和ML的簡(jiǎn)稱,可以開發(fā)出非常靈敏無(wú)刷新的網(wǎng)頁(yè),特別是開發(fā)服務(wù)器端網(wǎng)頁(yè)時(shí),比如PHP網(wǎng)站,需要往返地與服務(wù)器通信,如果不使用AJAX,每次數(shù)據(jù)更新不得不重新刷新網(wǎng)頁(yè),而使用AJAX特效后,可以對(duì)頁(yè)面進(jìn)行局部刷新,提供動(dòng)態(tài)的效果。
提供對(duì)JavaScript語(yǔ)言的增強(qiáng)
jQuery提供了對(duì)基本JavaScript結(jié)構(gòu)的增強(qiáng),比如元素迭代和數(shù)組處理等操作。
增強(qiáng)的事件處理
jQuery提供了各種頁(yè)面事件,它可以避免程序員在HTML中添加太事件處理代碼,最重要的是,它的事件處理器消除了各種瀏覽器兼容性問題。
更改網(wǎng)頁(yè)內(nèi)容
jQuery可以修改網(wǎng)頁(yè)中的內(nèi)容,比如更改網(wǎng)頁(yè)的文本、插入或者翻轉(zhuǎn)網(wǎng)頁(yè)圖像,jQuery簡(jiǎn)化了原本使用JavaScript代碼需要處理的方式。?[6-7]
工作原理
jQuery的模塊可以分為3部分:入口模塊、底層支持模塊和功能模塊。
在構(gòu)造jQuery對(duì)象模塊中,如果在調(diào)用構(gòu)造函數(shù)jQuery()創(chuàng)建jQuery對(duì)象時(shí)傳入了選擇器表達(dá)式,則會(huì)調(diào)用選擇器Sizzle(一款純JavaScript實(shí)現(xiàn)的CSS選擇器引擎,用于查找與選擇器表達(dá)式匹配的元素集合)遍歷文檔,查找與之匹配的DOM元素,并創(chuàng)建一個(gè)包含了這些DOM元素引用的jQuery對(duì)象。
瀏覽器功能測(cè)試模塊提供了針對(duì)不同瀏覽器功能和bug的測(cè)試結(jié)果,其他模塊則基于這些測(cè)試結(jié)果來(lái)解決瀏覽器之間的兼容性問題。
在底層支持模塊中,回調(diào)函數(shù)列表模塊用于增強(qiáng)對(duì)回調(diào)函數(shù)的管理,支持添加、移除、觸發(fā)、鎖定、禁用回調(diào)函數(shù)等功能;異步隊(duì)列模塊用于解耦異步任務(wù)和回調(diào)函數(shù),它在回調(diào)函數(shù)列表的基礎(chǔ)上為回調(diào)函數(shù)增加了狀態(tài),并提供了多個(gè)回調(diào)函數(shù)列表,支持傳播任意同步或異步回調(diào)函數(shù)的成功或失敗狀態(tài);數(shù)據(jù)緩存模塊用于為DOM元素和Javascript對(duì)象附加任意類型的數(shù)據(jù);隊(duì)列模塊用于管理一組函數(shù),支持函數(shù)的入隊(duì)和出隊(duì)操作,并確保函數(shù)按順序執(zhí)行,它基于數(shù)據(jù)緩存模塊實(shí)現(xiàn)。
在功能模塊中,事件系統(tǒng)提供了統(tǒng)一的事件綁定、響應(yīng)、手動(dòng)觸發(fā)和移除機(jī)制,它并沒有將事件直接綁定到DOM元素上,而是基于數(shù)據(jù)緩存模塊來(lái)管理事件;Ajax模塊允許從服務(wù)器上加載數(shù)據(jù),而不用刷新頁(yè)面,它基于異步隊(duì)列模塊來(lái)管理和觸發(fā)回調(diào)函數(shù);動(dòng)畫模塊用于向網(wǎng)頁(yè)中添加動(dòng)畫效果,它基于隊(duì)列模塊來(lái)管理和執(zhí)行動(dòng)畫函數(shù);屬性操作模塊用于對(duì)HTML屬性和DOM屬性進(jìn)行讀取、設(shè)置和移除操作;DOM遍歷模塊用于在DoM樹中遍歷父元素、子元素和兄弟元素;DOM操作模塊用于插入、移除、復(fù)制和替換DOM元素;樣式操作模塊用于獲取計(jì)算樣式或設(shè)置內(nèi)聯(lián)樣式;坐標(biāo)模塊用于讀取或設(shè)置DOM元素的文檔坐標(biāo);尺寸模塊用于獲取DOM元素的高度和寬度。
名稱欄目:jquery替換%,jquery替換標(biāo)簽
文章出自:http://chinadenli.net/article49/dsegjeh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航、營(yíng)銷型網(wǎng)站建設(shè)、、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)