Javascript Cloudinary公共ID的正则表达式
我需要验证Cloudinary公共ID所需的(javascript)正则表达式。规则如下: 公共ID格式支持除以下保留字符外的所有可打印字符:?&\%<>。此外,空格和前斜杠(/)不能用作公共ID的第一个或最后一个字符 尝试了此操作,但无效:Javascript Cloudinary公共ID的正则表达式,javascript,regex,cloudinary,Javascript,Regex,Cloudinary,我需要验证Cloudinary公共ID所需的(javascript)正则表达式。规则如下: 公共ID格式支持除以下保留字符外的所有可打印字符:?&\%。此外,空格和前斜杠(/)不能用作公共ID的第一个或最后一个字符 尝试了此操作,但无效:^[^\s\\]+[^?&\\%]+$ 我引用了这些问题:试试这个正则表达式: ^(?![ \/])(?!.*[ \/]$)(?!.*[?&#\%<>])[ -~]+$ ^(?![\/])(?!.[\/]$)(?!.[?&\%])[-~]+
^[^\s\\]+[^?&\\%]+$
我引用了这些问题:试试这个正则表达式:
^(?![ \/])(?!.*[ \/]$)(?!.*[?&#\%<>])[ -~]+$
^(?![\/])(?!.[\/]$)(?!.[?&\%])[-~]+$
说明:
-断言字符串的开头^
-负向前看以验证字符串的开头既不是空格也不是(?![\/])
/
-负向前看以验证空格和(?!.[\/]$)
都不在字符串末尾/
-负向前看以确保在字符串(?!.[?&\%])
[?&\%]中找不到这些字符。
-匹配1+个可打印ascii字符(空格至[-~]+
)~
-断言字符串的结尾$
$
之前):[^\s\\\]+
。此外,您需要在不可接受的字符中转义“\”。@GalAbra您是对的,但不幸的是,我甚至无法通过将“no^?&\\%字符”与“开头无空格”组合在一起的第一部分。@steve-o我编辑了我的评论-您需要用“\”转义“\”这很好,但不接受unicode字符(é),是吗?@NickChapman你说得对。但我不确定输入字符串是否包含unicode字符。因此,我要求从OP中获取示例输入字符串