问题1:验证一段字符串中HTML标签的个数
问题2:去除HTML标签显示文本内容
- 你得知道这题用正则做比较简单。下面是两个正则表达式:(正则定义在此不做过多阐述)
- 匹配双标签的前一半或单标签
/<\w.*?>/g
从<
开始,\w
为数字、下划线或字符,.
为除换行和Unicode行终止字符外任意字符,*
为匹配前一项0次或多次,?
后缀,则不采用贪婪法则的最大匹配。>
结束。 - 匹配双标签的后一半
/<\/\w.*?>/g
后一半主要式判断\
,\
不能直接,写需要进行转义,需要写成\/
。
- 去标签显示标签内容
需要匹配单标签和双标签则需要将单标签与双标签的后一半进行选择匹配,js代码如下:
var str = '今天脑子不好使<p></p><input type="text" name="" id="">见谅见谅!<img src="" alt=""><i></i><span></span><br/>'
//去标签
var reg = /((<\w.*?>)|(<\/\w.*?>))/g //单标签或者双标签
var txt = str.replace(reg,'')
alert(txt)
- 显示标签个数,只需要匹配单标签还是双标签即可。js代码如下:
var reg = /<\w.*?>/g
alert("一共有" + str.match(reg).length + "标签!") //str.match(reg)把匹配到的内容放到一个数组中,数组的长度就是标签个数
运行js代码即可得出结果。