从一长串字符串中找出图片,查看是否符合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) 方法会一次返回一个匹配项,并且在每次调用后会继续读取字符串以查找下一个匹配项。

相关推荐
瑞雪兆丰年兮几秒前
[从0开始学Java|第二十五天]项目阶段(综合练习&斗地主小游戏)
java·windows
凌涘8 分钟前
深入理解 JavaScript 执行机制:从执行上下文到调用栈全解析
前端·javascript
用户9385156350712 分钟前
从模块化到 Prompt 工程:我用 Node.js + LLM 复刻了传统 NLP 的流程
javascript·人工智能·node.js
YAwu1112 分钟前
手写一个符合 Promise/A+ 规范的 Promise(附完整代码)
前端·javascript
bonechips13 分钟前
用 Prompt 做 NLP:从零搭建一个情感分析与信息提取系统
javascript
暗不需求14 分钟前
从路虎汽车小程序看微信小程序开发的最佳实践
前端·javascript·微信小程序
东风破_14 分钟前
用原型实现一个队列:JS 面向对象的"不走寻常路"
javascript
Demon1_Coder16 分钟前
Day4-微服务-Seata默认事务
java·数据库·微服务
向日的葵00618 分钟前
vue路由(二)
前端·javascript·vue.js·vue
Sunia22 分钟前
《AgentX 专栏》08-工作流引擎:AgentWorkflow怎么把工具记忆流程串成一条流水线
java·架构