MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Regex pour MongoDB ObjectID

Vous pouvez utiliser l'expression régulière suivante mais cela ne fonctionnera pas tout à fait

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

Exemple :

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

Mais, comme je l'ai commenté, 112345679065574883030833 , FFFFFFFFFFFFFFFFFFFFFFFF sont également des représentations hexadécimales valides.

Vous devez utiliser /^[a-f\d]{24}$/i car il passe tous les tests ci-dessus