javascript - Cloudinary 公共(public) ID 的正则表达式

标签 javascript regex cloudinary

我需要验证 Cloudinary 公共(public) ID 所需的 (javascript) 正则表达式。规则是:

公共(public) ID 格式支持除以下保留字符外的所有可打印字符: ? &#\%<>。此外,空格和正斜杠 (/) 不能用作公共(public) ID 的第一个或最后一个字符

试过了,但没用:^[^\s\\]+[^?&#\%<>]+$

我引用了这些 SO 问题:Javascript regex - no white space at beginning + allow space in the middleRegex - Does not contain certain Characters

最佳答案

试试这个正则表达式:

^(?![ \/])(?!.*[ \/]$)(?!.*[?&#\%<>])[ -~]+$

Click for Demo

解释:

  • ^ - 断言字符串的开始
  • (?![ \/]) - 否定前瞻以验证既不是空格也不是 /在字符串的开头
  • (?!.*[ \/]$) - 否定前瞻以验证既不是空格也不是 /在字符串的末尾
  • (?!.*[?&#\%<>]) - 否定前瞻以确保在字符串 [?&#\%<>] 中找不到这些字符
  • [ -~]+ - 匹配出现次数超过 1 次的可打印 ascii 字符(空格到 ~ )
  • $ - 断言字符串结束

关于javascript - Cloudinary 公共(public) ID 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48325121/

相关文章:

ruby-on-rails - Cloudinary Rails 上的 cl_image_tag 问题

javascript - Bootstrap popover 对于多个位置只有一次

javascript - HTML 集合 - 在 While 循环期间删除元素

javascript - 使用 Prop 和状态编辑 React 数组中的文本值?

java - 有没有办法缩短包含一堆 boolean 比较的条件?

regex - DataArray 不区分大小写的匹配,返回匹配的索引值

javascript - 如何使用正则表达式获取此处的日期?

javascript - 制作简单的按钮来自动滚动到下一个和上一个 Id'd 元素

ruby-on-rails - 如何下载更改文件名的文件?

java - 为什么我在 Cloudinary Java 上收到 'Invalid Signature' 错误?