我使用以下正则表达式来拦截 CKeditor 中发布的图像链接:
var editorContent = String(qa_ckeditor_content.getData());
if( editorContent.match(/(https?:\/\/\S+\.(?:jpg|png|gif|jpg<br|png<br|gif<br|jpg<\/p>|png<\/p>|gif<\/p>))\s+/) != null ) {
alert('Sorry, image links not allowed.');
return false;
}
但是,这不会找到类似的内容:
<a href="#">myimage.png</a>
我正在尝试查找所需的正则表达式 png<...
(加上以下字符)。我尝试使用一个似乎不正确的点:
/(https?:\/\/\S+\.(?:jpg|png|gif|jpg<.|png<.|gif<.))\s+/
我知道这是一个初学者问题,但我未能找到正确的解决方案:-(
感谢您的宝贵时间!
最佳答案
首先,我想指出黑名单的虚假安全性。总会有其他你没有想到的案例能够成功。
话虽这么说;您可以使用正则表达式搜索 .jpg、.png、.gif 等,后跟除单词字符之外的任何内容。
/\.(jpg|png|gif)\b/
这至少会在我能想到的任何情况下匹配这些扩展,并且可以替换您迄今为止拥有的整个正则表达式。
关于javascript - 正则表达式在 CKeditor 的 HTML 中查找 png-gif-jpg 图像链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16769197/