亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript 替換Html標(biāo)簽實(shí)現(xiàn)代碼

 更新時間:2009年10月14日 15:12:22   作者:  
這種技術(shù)被廣泛應(yīng)用于表單驗(yàn)證,語法高亮和危險(xiǎn)字符過濾中。一段話如果很長,如果不想像下面那樣替換,我們得想些辦法了。
復(fù)制代碼 代碼如下:

str = str.<br />
replace( /&amp;(?!#?\w+;)/g , '&amp;').<br />
replace( /undefinedundefined([^undefinedundefined]*)&quot;/g , '“$1”' ).<br />
replace( /&lt;/g , '&lt;' ).<br />
replace( /&gt;/g , '&gt;' ).<br />
replace( /…/g , '…' ).<br />
replace( /“/g , '“' ).<br />
replace( /”/g , '”' ).<br />
replace( /‘/g , '‘' ).<br />
replace( /'/g , ''' ).<br />
replace( /—/g , '—' ).<br />
replace( /–/g , '–' );

上面這個還算短了,我看過一些論壇的JS代碼,在把Wind Code轉(zhuǎn)換成HTML時,那真是瘋子似的寫上二三十行。其實(shí)我們大可以把這些匹配模式與替換后的字符放到一個哈希中,然后一口氣替換掉。
復(fù)制代碼 代碼如下:

var hash = {
'<' : '<' ,
'>' : '>',
'…' : '…',
'“' : '“' ,
'”' : '”' ,
'‘' : '‘' ,
''' : ''' ,
'—' : '—',
'–' : '–'
};
str = str.
replace( /&(?!#?\w+;)/g , '&' ).
replace( /undefinedundefined([^undefinedundefined]*)"/g , '“$1”' ).
replace( /[<>…“”‘'—–]/g , function ( $0 ) {
return hash[ $0 ];
});

但這個缺陷也很明顯,如哈希的鍵必須是簡單的普通字符串,不能是復(fù)雜正則,這就是我們不得不分開的原因。replace在老一點(diǎn)的瀏覽器是不支持function的。為此,我們只好放棄上面最后那個replace方式,替換方統(tǒng)一為普通字符串。
復(fù)制代碼 代碼如下:

String.prototype.multiReplace = function ( hash ) {
var str = this, key;
for ( key in hash ) {
if ( Object.prototype.hasOwnProperty.call( hash, key ) ) {
str = str.replace( new RegExp( key, 'g' ), hash[ key ] );
}
}
return str;
};

Object.prototype.hasOwnProperty.call( hash, key )是用來過濾繼承自原型的方法與屬性的。這樣一來,使用就簡單了:
復(fù)制代碼 代碼如下:

str = str.multiReplace({
'&(?!#?\\w+;)' :'&',
'undefinedundefined([^undefinedundefined]*)" : '“$1”',
'<' : '<' ,
'>' : '>',
'…' : '…',
'“' : '“' ,
'”' : '”' ,
'‘' : '‘' ,
''' : ''' ,
'—' : '—',
'–' : '–'
});

相關(guān)文章

  • 用VsCode編輯TypeScript的實(shí)現(xiàn)方法

    用VsCode編輯TypeScript的實(shí)現(xiàn)方法

    這篇文章主要介紹了用VsCode編輯TypeScript的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • JavaScript獲取Url里的參數(shù)

    JavaScript獲取Url里的參數(shù)

    這篇文章主要介紹了JavaScript獲取Url里的參數(shù),需要的朋友可以參考下
    2014-12-12
  • JavaScript的變量作用域深入理解

    JavaScript的變量作用域深入理解

    深入理解JavaScript的變量作用域,需要的朋友可以參考下。
    2009-10-10
  • ES6 Symbol在對象中的作用實(shí)例分析

    ES6 Symbol在對象中的作用實(shí)例分析

    這篇文章主要介紹了ES6 Symbol在對象中的作用,結(jié)合實(shí)例形式分析了ES6 Symbol在對象中聲明、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2020-06-06
  • 驗(yàn)證手機(jī)號碼的JS方法分享

    驗(yàn)證手機(jī)號碼的JS方法分享

    這篇文章介紹了驗(yàn)證手機(jī)號碼的JS方法,有需要的朋友可以參考一下
    2013-09-09
  • 解決頁面js接受Long型損失精度問題(最新解決方案)

    解決頁面js接受Long型損失精度問題(最新解決方案)

    這篇文章主要介紹了解決頁面js接受Long型損失精度問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • js parentElement和offsetParent之間的區(qū)別

    js parentElement和offsetParent之間的區(qū)別

    這里主要說的是 offsetParent 屬性,這個屬性在 MSDN 的文檔中也沒有解釋清楚,這就讓人更難理解這個屬性。 這幾天在網(wǎng)上找了些資料看看,再加上自己的一些測試,對此屬性有了那么一點(diǎn)的了解,在這里總結(jié)一下。
    2010-03-03
  • JavaScript實(shí)現(xiàn)各種排序的代碼詳解

    JavaScript實(shí)現(xiàn)各種排序的代碼詳解

    這篇文章給大家介紹了js實(shí)現(xiàn)各種排序功能,包括冒泡排序,選擇排序和插入排序,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-08-08
  • form+iframe解決跨域上傳文件的方法

    form+iframe解決跨域上傳文件的方法

    下面小編就為大家?guī)硪黄猣orm+iframe解決跨域上傳文件的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 微信小程序去除左上角返回鍵的實(shí)現(xiàn)方法

    微信小程序去除左上角返回鍵的實(shí)現(xiàn)方法

    這篇文章主要介紹了微信小程序去除左上角返回鍵的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評論