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

相关推荐
岭南灯火19 小时前
前端通用交互式几何编辑器的设计法则 3 - 数据对象的设计
前端·javascript·架构
码农颜19 小时前
5.4.1 锁分类
java·数据库·mysql
岭南灯火19 小时前
前端通用交互式几何编辑器的设计法则 2 - 交互事件流
前端·javascript·架构
岭南灯火19 小时前
前端通用交互式几何编辑器的设计法则 1 - 入口的对象及其成员
前端·javascript·架构
满栀58519 小时前
Vue.js 接口封装最佳实践:从基础到高级
前端·javascript·vue.js
linux-hzh20 小时前
百日算法修炼 · Day 03
java·算法
kyriewen20 小时前
我踩了三次同一个坑才明白:React里"改了数据却不重新渲染"的真正原因
前端·javascript·react.js
不负岁月无痕21 小时前
简单理解操作系统结构
java·linux·c语言·开发语言·c++·面试
java1234_小锋21 小时前
Vue3专题 - 事件处理
javascript·vue.js
A242073493021 小时前
React中请求拦截与响应拦截的统一处理方案
前端·javascript·react.js