用于MongoDB ObjectID的正则表达式

玛吉武

关于这个SO问题,我有一个场景,我只需要匹配包含af的十六进制字符串。所有其他都不应该匹配。例:

checkForHexRegExp.test("112345679065574883030833"); // => false
checkForHexRegExp.test("FFFFFFFFFFFFFFFFFFFFFFFF"); // => false
checkForHexRegExp.test("45cbc4a0e4123f6920000002"); // => true

我的用例是我正在使用一组十六进制字符串,并且只想验证那些是mongodb objectID的字符串为true。

虚假的

您可以使用以下正则表达式,但效果不佳

checkForHexRegExp = /^(?=[a-f\d]{24}$)(\d+[a-f]|[a-f]+\d)/i

例:

> checkForHexRegExp.test("112345679065574883030833")
false
> checkForHexRegExp.test("FFFFFFFFFFFFFFFFFFFFFFFF")
false
> checkForHexRegExp.test("45cbc4a0e4123f6920000002")
true

但是,正如我评论,112345679065574883030833FFFFFFFFFFFFFFFFFFFFFFFF也是有效的十六进制表示。

您应该使用, /^[a-f\d]{24}$/i因为它通过了以上所有测试

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用正则表达式对ObjectId查询MongoDB

来自分类Dev

mongodb正则表达式用于列表的不同元素

来自分类Dev

mongodb正则表达式用于列表的不同元素

来自分类Dev

用于算术表达式的正则表达式

来自分类Dev

用于比较表达式的正则表达式

来自分类Dev

用于匹配或的正则表达式

来自分类Dev

用于匹配$(..)的正则表达式

来自分类Dev

正则表达式用于键值对

来自分类Dev

正则表达式不适用于正则表达式注释

来自分类Dev

正则表达式,用于查找项目中的所有正则表达式

来自分类Dev

正则表达式表达的多种模式MongoDB Atlas

来自分类Dev

用于CSS图片网址的正则表达式

来自分类Dev

正则表达式用于可选组

来自分类常见问题

正则表达式,用于检测键和值

来自分类Dev

正则表达式用于类似Maven的工件路径

来自分类Dev

用于密码验证的正则表达式

来自分类Dev

C ++正则表达式,用于获取函数签名

来自分类Dev

用于删除HTML链接的正则表达式

来自分类Dev

用于版本号验证的正则表达式

来自分类Dev

PHP-用于路由的正则表达式

来自分类Dev

PHP正则表达式用于数学运算

来自分类Dev

用于检测Internet Explorer 11的正则表达式

来自分类Dev

JS正则表达式用于密码验证匹配

来自分类Dev

用于列分隔值的正则表达式(PHP)

来自分类Dev

正则表达式用于拆分电话号码

来自分类Dev

嵌套正则表达式用于域匹配

来自分类Dev

用于获取变量的正则表达式

来自分类Dev

正则表达式用于python中的单词排除

来自分类Dev

正则表达式不适用于javascript