IT虾米网

javascript正则表达式多个条件

www_RR 2025年02月15日 程序员 34 0

我有一个 html 实体替换 & ,如下所示:

function htmlEntities(str) { 
return String(str).replace(/&(?!amp;)/g, '&'); 
} 

工作正常,不会替换 & 但会替换 &

如何向函数的正则表达式添加多个条件,这样它就不会与其他 html 实体混淆,例如:

' 
" 
> 
< 

我测试:

var xxx = "1234 &aaa&amp; aaadas 'xxx' \" kkk <aasd> xxxxxxxxxxxxxxxx &lt;"; 
 
console.log(htmlEntities(xxx)); 

它将取代 < 成为 < 这不是我想要的,我需要它离开 < 就像示例中的 &aaa& 一样取消修改为 &aaa&

希望你明白我的意思,有什么想法吗?

请您参考如下方法:

您可以在正则表达式中使用 | 来进行替代。

var xxx = "1234 &aaa&amp; aaadas 'xxx' \" kkk <aasd> xxxxxxxxxxxxxxxx &lt;"; 
console.log(htmlEntities(xxx)); 
 
function htmlEntities(str) { 
  return String(str).replace(/&(?!(?:amp|apos|gt|lt);)/g, '&amp;'); 
}


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!