正则匹配HTML标签及内容

21,247 阅读1分钟

正则匹配HTML标签及内容

/<iframe(([\s\S])*?)<\/iframe>/

这里我匹配的是iframe标签及内容,若要匹配其他标签就替换就可以了; 还可以匹配指定属性的html标签:

/<div id="mydiv"(([\s\S])*?)<\/div>/

匹配所有闭合标签

/<\/?.+?>/gi

匹配所有img标签

/<img.*?src="(.*?)".*?\/?>/gi

匹配所有闭合标签即内容

/<[^>]+>/

正则连续匹配写法

content
    .replace(/<p(.+?)?class="g-bulb handling"(.+?)?>/, '<p$1$2>')
    .replace(/<p(.+?)?class="handling g-bulb"(.+?)?>/, '<p$1$2>')
    .replace(/<([a-z]+?)(?:\s+?[^>]*?)?>\s*?<\/\1>/ig, '')
    .replace(/(<\/?u.*?>)/gi, '')

其他正则匹配

汉字:^[\u4e00-\u9fa5]{0,}$
英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符:^.{3,20}$
由26个英文字母组成的字符串:^[A-Za-z]+$
由26个大写英文字母组成的字符串:^[A-Z]+$
由26个小写英文字母组成的字符串:^[a-z]+$
由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
可以输入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+
禁止输入含有~的字符:[^~\x22]+