鍍金池/ 問答/HTML5  HTML/ 正則表達式的[ ]疑問

正則表達式的[ ]疑問

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml&...;>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>無標(biāo)題文檔</title>

<script>

window.onload = function(){

var aT = document.getElementsByTagName('textarea');

var oInput = document.getElementById('input1');



//var re = /<\w+>/g;

var re=/<[\/\w]+>/g//問題1:原先想的這樣的寫法去除/過濾標(biāo)簽

    var re=/<[/。\w]+>/g//但是發(fā)現(xiàn)這樣亂寫轉(zhuǎn)義字符也行?



//var re = /<[^>]+>/g;

//var re=/<[\w\W]+>/g//問題二:此處的寫法和下面一樣的寫法應(yīng)該是等價的吧?為什么效果不一樣?

      var re=/<[\.]+>/g

oInput.onclick = function(){

    

    aT[1].value = aT[0].value.replace(re,'');

    

};


};

</script>

</head>

<body>

替換前

<textarea>

</textarea>

替換后

<textarea>

</textarea>

<input type="button" value="確定" id="input1" />

</body>

</html>

回答
編輯回答
失魂人

大哥(小妹)你寫完問題不先預(yù)覽下看下排版的么?

過濾用戶輸入的HTML標(biāo)簽


const reg = /<\/?[^>]+>/g

/ /* 正則開始 */
< /* 匹配左尖括號 */
\/? /* 匹配 '/'(可能有,可能沒有) */
[^>]+ /* 匹配任意不是 '>'的字符,出現(xiàn)一次或多次 */
> /* 匹配右尖括號 */
/ /* 正則結(jié)束 */

至于你說的亂寫轉(zhuǎn)義符, []中的內(nèi)容只需要出現(xiàn)其中一個就可以了,也就是說只要 \w匹配到了,你其他亂寫的都沒用了。

[\w\W] 我怎么覺得這是匹配一切。

[.] 我就假設(shè)你這用的是 . 不是 \.。.匹配除換行符以外的一切字符,區(qū)別就在一個換行符。

我正則也忘得差不多了,剛剛復(fù)習(xí)了下。給你個鏈接,可以仔細看看。

2017年8月31日 06:17
編輯回答
淚染裳

完全看不懂在說什么

2018年8月4日 01:55
編輯回答
貓館

直接說出你的需求.

[] 方括號里面的字符是表示就這些字符有效.

2018年3月3日 03:58