- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Figma API 在 NodeJS 上构建一个应用程序,我需要检查用户传递的字符串是否是有效的 Figma 链接。我目前正在使用这个简单的正则表达式来检查字符串:
/^https\:\/\/www.figma.com\/.*/i
figma.com
的所有链接,即使是主页,也不仅仅是文件和原型(prototype)的链接。这是一个应该匹配的示例 Figma 链接:
https://www.figma.com/file/OoYmkiTlusAzIjYwAgSbv8wy/Test-File?node-id=0%3A1
proto
而不是
file
在路径中。
最佳答案
TL;博士
✅ 使用此表达式来捕获四个最重要的组(类型、文件 ID、文件名和 URL 属性)并从那里开始工作。
/^(?:https:\/\/)?(?:www\.)?figma\.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/?([^\?]+)?(.*))?$/
/https://([w.-]+.)?figma.com/(file|proto)/([0-9a-zA-Z]{22,128})(?:/.*)?$/
^
在 VLAZ 在评论中指出之后。这样我们将避免匹配不以 https
开头的字符串。 ,例如 malicious.site/?link=https://figma.com/...
www.
子域,但任何其他数量不是很大的 W (例如 wwwww.
) - 它可以通过用更简单的表达式替换字母匹配来修复。这也是一个无用的捕获组,我将其设为非捕获。 https://
开头,也很好。由于某些引擎(例如 Twitter)为简洁起见删除了这部分,如果有人从那里复制链接,它应该仍然有效。 /^(?:https:\/\/)?(?:www\.)?figma\.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/.*)?$/
node-id
:
/^(?:https:\/\/)?(?:www\.)?figma\.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/.*)?node-id=([^&]*)$/
var pattern = /^(?:https:\/\/)?(?:www\.)?figma\.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/.*)?node-id=([^&]*)$/
var matched = 'https://www.figma.com/file/OoYmkiTlusAzIjYwAgSbv8wy/Test-File?node-id=0%3A1'.match(pattern)
console.log('url:', matched[0]) // whole matched string
console.log('type:', matched[1]) // group 1
console.log('file key:', matched[2]) // group 2
console.log('node id:', matched[3]) // group 3
/^(?:https:\/\/)?(?:www\.)?figma\.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/?([^\?]+)?(.*))?$/
/duplicate
分开可以添加到任何 Figma URL 末尾的部分,以在打开文件时创建文件的副本。
/^(?:https:\/\/)?(?:www\.)?figma\.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/?([^\?]+)?([^\/]*)(\/duplicate)?)?$/
node-id
范围。以下正则表达式查找并捕获
中的多个 URL。多行字符串 成功地。我最后发现的唯一缺点是它(以及所有以前的)不检查此 URL 是否包含未编码的
special characters这意味着它可能会破坏某些东西,但可以通过使用
encodeURI()
手动编码所有参数来避免它
function .
/^(?:https:\/\/)?(?:www\.)?figma\.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/([^\?\n\r\/]+)?((?:\?[^\/]*?node-id=([^&\n\r\/]+))?[^\/]*?)(\/duplicate)?)?$/gm
关于javascript - 如何检查字符串是否是有效的 Figma 链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55429005/
一般来说,我对 Figma 和网页设计还很陌生,我复制了一个元素,然后决定删除重复的元素,但令人惊讶的是没有删除按钮,在谷歌搜索 5 分钟后,我真的很惊讶地发现没有有人谈到了它,简而言之,我如何删除
每次我尝试打开 .fig 文件时,都会弹出此消息: “文件导入失败... 新文件.fig 将 .fig 文件拖放到文件浏览器中以导入它们” 我该如何解决这个问题? 我已经在计算机的应用程序和浏览器上尝
我试图在一个业余项目中使用 Figma API,我想知道是否有任何方法可以访问特定用户的文件、项目或团队(OAuth 之后)。 我在文档中找不到任何似乎可以做到这一点的端点。 There's an e
我已按照自述文件中的说明进行操作,但无法运行 spellchecker extension for Figma . 运行 npm run build 没有问题。但是,在尝试运行 npm run spe
我正在使用 Figma API 在 NodeJS 上构建一个应用程序,我需要检查用户传递的字符串是否是有效的 Figma 链接。我目前正在使用这个简单的正则表达式来检查字符串: /^https\:\/
我正在从头开始构建自己的作品集。有很多我想包含的高质量图像,但我不知道如何在不减慢网站速度或牺牲太多图像分辨率的情况下做到这一点。 我在 Figma 中创建了线框,但当我导出图像时,质量明显下降。如果
我想知道是否可以将 Tailwindcss 与 Figma 一起使用?如果有人这样做,有什么例子可以看吗?我看到可以从 Figma 导出颜色并将其导入到 taiwind 配置中。但是 Tailwind
我想知道是否可以将 Tailwindcss 与 Figma 一起使用?如果有人这样做,有什么例子可以看吗?我看到可以从 Figma 导出颜色并将其导入到 taiwind 配置中。但是 Tailwind
我正在根据 Figma 设计构建一个 HTML 页面。 我只是从设计中复制字符(🎉,🎁)并将它们放在我的页面上。 问题是与设计相比,字符显得丑陋。 这是设计:https://prnt.sc/pn5
我正在与一位共享来自 Figma 和 Sketch 的资源的设计师合作。 如果我为我的 UILabel 使用 Figma/Sketch 上可用的完全相同的字体大小,我看到呈现的字体小于 Figma/S
我目前在一个项目中,我需要转换成角度代码图设计。我一直在努力寻找可以帮助我完成这一过程的教程或指南,但到目前为止我还没有太大的运气。。Figma中的设计包括各种组件、布局和样式,我希望确保可以准确地将
我目前在一个项目中,我需要转换成角度代码图设计。我一直在努力寻找可以帮助我完成这一过程的教程或指南,但到目前为止我还没有太大的运气。。Figma中的设计包括各种组件、布局和样式,我希望确保可以准确地将
I'm currently working on a project where I need to convert a Figma design into Angular code. I've
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章UI/UX 设计师必备的 16 款 Figma 插件由作者收集整理,如果
我是网络开发的新手,想了解以下工作流程: 我在 Figma 中设计了一个网站以及以像素为单位的字体样式(不能在 Figma 中使用 em 或 rem) 为了拥有一个响应式网站,我想用 rem 单位编写
我最近经常使用 Figma 来绘制/编辑图像并将它们导出为 SVG 文件,这样我就可以在我的应用程序代码库中快速使用。 这只有一个缺点:查看 SVG 代码以找出元素是什么。 到目前为止,我必须手动通过
问题:我从 Figma API 获得了 args.JSON,我试图从子数组中仅提取字符串“id”。我正在使用 google app script 和 Figma API 来创建一个插件。我希望 Fig
我正在考虑使用 Google App Script 为 Figma exporter 创建一个 google 幻灯片。首先,我想将在 google Slides 中创建的形状路由到 figma。我将如
我是一名优秀的程序员,十分优秀!