MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Regex para MongoDB ObjectID


Você pode usar a seguinte expressão regular mas não funcionará
checkForHexRegExp = /^(?=[a-f\d]{24}$)(\d+[a-f]|[a-f]+\d)/i

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

Mas, como comentei, 112345679065574883030833 , FFFFFFFFFFFFFFFFFFFFFFFF também são representações hexadecimais válidas.

Você deve usar /^[a-f\d]{24}$/i porque passa em todos os testes acima