从一长串字符串中找出图片,查看是否符合md5要求

javascript 复制代码
/**检查内容中的图片否含有外部链接*/
function checkExternalLinks(content){
    var pattern = /<img[^>]+src=['"]([^'"]+)['"][^>]*>/g;
    var match;
    var index = 0;

    while ((match = pattern.exec(content)) !== null) {
        var imageUrl = match[1];
        var regex = /\/storage\/([a-zA-Z0-9]{32})/; //正则  外链不匹配/storage/MD5

        if (!regex.test(imageUrl)) {
            return index + 1; // 返回第一个包含外部链接的图片的索引
        }

        index++;
    }

    return -1; // 所有图片链接都是有效的,返回 -1
}

当第一次调用 pattern.exec(content) 方法时,它会从 content 字符串中开始查找与正则表达式 pattern 匹配的内容。如果找到了匹配项,它会返回一个包含匹配信息的数组,并将正则表达式的"指针"移动到下一个匹配项之后的位置。

下一次再调用 pattern.exec(content) 方法时,它会从上一次匹配项的后面继续搜索,以查找下一个匹配项。它会逐步读取字符串,每次找到一个匹配项,都会返回相应的数组,并继续将正则表达式的"指针"移动到下一个匹配项之后的位置。

这种逐步读取和匹配的过程会持续进行,直到字符串末尾或者没有更多的匹配项为止。当没有更多匹配项时,pattern.exec(content) 会返回 null

因此,pattern.exec(content) 方法会一次返回一个匹配项,并且在每次调用后会继续读取字符串以查找下一个匹配项。

相关推荐
E_ICEBLUE13 小时前
Excel vs CSV:在系统数据处理中该如何选择?
java·excel·csv·格式转换
击败不可能13 小时前
vue做任务工具方法的实现
前端·javascript·vue.js
郑州光合科技余经理13 小时前
同城020系统架构实战:中台化设计与部署
java·大数据·开发语言·后端·系统架构·uni-app·php
LcVong14 小时前
Android 25(API 25)+ JDK 17 环境搭建
android·java·开发语言
a程序小傲14 小时前
高并发下如何防止重复下单?
java·开发语言·算法·面试·职场和发展·状态模式
sww_102614 小时前
智能问数系统(二):数据分析师Python
java·前端·python
2301_7813925214 小时前
MySQL格式化数据展示——分页查询
java·数据库·mysql·性能优化
爱上妖精的尾巴14 小时前
7-13 WPS JS宏 this 用构造函数自定义类-2,调用内部对象必须用this
开发语言·javascript·wps·jsa
Java后端的Ai之路14 小时前
【Java教程】- 并发编程核心知识解读
java·开发语言·并发编程
椰羊~王小美14 小时前
为什么@Builder 注解默认父类字段不可见
java