【发布时间】:2014-01-26 03:04:42
【问题描述】:
参考this SO question,我有一个场景,我只需要匹配一个包含 a-f 的十六进制字符串。其他一切都不应该匹配。示例:
checkForHexRegExp.test("112345679065574883030833"); // => false
checkForHexRegExp.test("FFFFFFFFFFFFFFFFFFFFFFFF"); // => false
checkForHexRegExp.test("45cbc4a0e4123f6920000002"); // => true
我的用例是我正在使用一组十六进制字符串,并且只想将那些是 mongodb objectID 的字符串验证为 true。
【问题讨论】:
-
112345679065574883030833,FFFFFFFFFFFFFFFFFFFFFFFF也是有效的十六进制表示。为什么false用于这些字符串? -
@falsetru 根据我的用例,我需要一个只匹配 mongodb ObjectIDs 的正则表达式。
-
正如@olegshparber 所回答的,上述所有ID 构成了一个有效的mongodb 对象ID,请参阅mongodb 对象ID 文档
-
@gabeno 我仍然不明白您要做什么,因为这三个都是有效的 MongoDB ObjectID。
-
他想在实践中匹配 MongoDB ObjectID,而不是理论上。
标签: javascript regex mongodb