最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js過(guò)濾HTML標(biāo)簽以及空格的思路及代碼

 更新時(shí)間:2013年05月24日 15:04:21   作者:  
今天要做一個(gè)應(yīng)用--判斷編輯器中文字的個(gè)數(shù)。如果少如20個(gè)字就不能讓其提交。沒(méi)多想,正好周末的時(shí)候看了一下js中正則表達(dá)式的內(nèi)容。很容易就想到了要用正則表達(dá)式來(lái)解決這個(gè)問(wèn)題。雖說(shuō)看了正則表達(dá)式的內(nèi)容是看了,但是畢竟還是剛接接觸,連基本的概念都很模糊,于是只好在網(wǎng)上找到如下的代碼:

復(fù)制代碼 代碼如下:

function setContent(str) {
str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
str.value = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
//str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
return str;
}

測(cè)試的時(shí)候發(fā)現(xiàn)這段代碼不能過(guò)濾掉網(wǎng)頁(yè)中空格字符(即:&nbsp;)。于是自己又改造了一下:

復(fù)制代碼 代碼如下:

function removeHTMLTag(str) {
            str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
            str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
            //str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
            str=str.replace(/&nbsp;/ig,'');//去掉&nbsp;
            return str;
    }

恩,我的要求達(dá)到了。

現(xiàn)在來(lái)稍稍解釋一下所用到的三個(gè)正則表達(dá)吧(需要說(shuō)明的是,因?yàn)樽约阂彩莿倓偨佑|,也許我的解釋并不是正確的,僅供參考):

第一個(gè):/<\/?[^>]*>/g

在js中正則表達(dá)式是以“/”開(kāi)頭的,后面的/g,含義是表示全局模式,意思是在將匹配的模式應(yīng)用于整個(gè)字符串,而不是在第一次匹配上之后就停止匹配了。

<\/?[^>]*> 這個(gè)分開(kāi)來(lái)解釋,其中第二個(gè)字符“\”是一個(gè)轉(zhuǎn)移字符,用來(lái)轉(zhuǎn)移后面的”/”字符的。?匹配0或1個(gè)正好在它之前的那個(gè)字符。注意:這個(gè)元字符不是所有的軟件都支持的。所以<\/?就是匹配html標(biāo)簽中的”</”格式或者“<”格式的。

再來(lái)說(shuō)[^>]*>。[]是含義是:

 ^的含義是:匹配一行的開(kāi)始。例如正則表達(dá)式^When in能夠匹配字符串"When in the course of human events"的開(kāi)始,但是不能匹配"What and When in the"。意思就是匹配以“When in”開(kāi)頭的文字。

*的含義是:匹配0或多個(gè)正好在它之前的那個(gè)字符。例如正則表達(dá)式。*意味著能夠匹配任意數(shù)量的任何字符

因此[^>]*意思是匹配>之外的字符。所以[^>]可以匹配出的模式可以像下面這樣的:

div
我需要的文字</div

我需要的文字</p

*和前面的[^>]結(jié)合在一起就可以匹配下面這些字符了:

div>我需要的文字</div
p>我需要的文字</p
br /
再加上后面的>就可以匹配下面的字符了:

div>我需要的文字</div>
p>我需要的文字</p>
br />
這樣就完成了一對(duì)HTML標(biāo)簽的匹配了。(多句話,總覺(jué)得這個(gè)匹配有點(diǎn)啰嗦,但是不知道到底在哪個(gè)地方啰嗦)

第二個(gè):/[ | ]*\n/g:我也沒(méi)有看懂

第三個(gè):/&nbsp;/ig:就是直接查找&nbsp;字符,后面的/ig的含義是在全局模式下進(jìn)行不區(qū)分大小寫的查找。g代表全局,i表示不區(qū)分大小寫。

相關(guān)文章

最新評(píng)論

余庆县| 南郑县| 澳门| 四子王旗| 运城市| 宜春市| 张家川| 林甸县| 龙岩市| 河间市| 多伦县| 吉安县| 山西省| 台东县| 陇西县| 茂名市| 大足县| 新野县| 门源| 甘谷县| 遵义县| 天长市| 祁门县| 依兰县| 三原县| 南雄市| 花莲县| 砀山县| 惠东县| 宁国市| 齐齐哈尔市| 雷州市| 中宁县| 宝清县| 兴文县| 苏尼特右旗| 遵义市| 中西区| 梁山县| 永福县| 灵寿县|