javascript - 我如何检查它是否是 12 字节的字符串对象,mongodb 中的 ObjectID?

标签 javascript node.js regex string mongodb

我想检查正确的 ObjectID 以继续我的代码。我在使用 NodeJS,但我不想收到错误消息:

Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters

实际上我得到了那些测试:

if (!user.id || !user.id.match("/^[0-9a-fA-f]{24}$") || !typeof(user.id) === 'string') {
        console.log("user id is required !")
        return callback("user id is required !")
    }

对于 24 个十六进制字符的字符串,我得到了这个正则表达式:

!user.id.match("/^[0-9a-fA-f]{24}$")

我正在搜索检查它是否是一个 12 字节的字符串:

!typeof(user.id) === 'string'

这12个字节应该如何添加校验?

有什么想法吗?

最佳答案

如果您使用 NodeJS:

const objectID = require('mongodb').objectID

您可以像那样简单地测试您的 ObjectID :

ObjectID.isValid(yourobjectid)

如果有效则返回true,否则返回false。

关于javascript - 我如何检查它是否是 12 字节的字符串对象,mongodb 中的 ObjectID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46422076/

相关文章:

javascript - string.split 与 RegExp\s

C# - 正则表达式不匹配输入字符串

javascript - 基于数字值的条件 CSS 类

javascript - .data() 在哪里存储值?

node.js 在断开连接事件时不发送套接字

node.js - 能不能把 "tedious"模块browserify一下,这样nodejs程序就可以在浏览器中运行了?

java - 如何使用正则表达式将字符串中的连续重复字符替换为 '0'?

javascript - 为什么在 Internet Explorer 中访问 localStorage 对象会抛出错误?

ASP.NET 验证未在 JavaScript showModalDialog 调用中执行

javascript - 公理错误 : getaddrinfo ENOTFOUND