MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Regex per MongoDB ObjectID

Puoi usare la seguente espressione regolare ma ​​non funzionerà del tutto

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

Esempio:

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

Ma, come ho commentato, 112345679065574883030833 , FFFFFFFFFFFFFFFFFFFFFFFF sono anche rappresentazioni esadecimali valide.

Dovresti usare /^[a-f\d]{24}$/i perché supera tutti i test di cui sopra