检查消息中的数字长度,然后使用语句中的值

Checking number length from message and then use the value in statement

我正在尝试检查邮件是否会在一段长度内包含 6 个或更多数字。

示例:您好!我的密码是 123456.

        var x = scope.message._text
    if (x.toString().length >= 6) {
        scope.api.sendMessage(scope.message._chat._id, '*CODE removed*', { 'parse_mode' : 'Markdown' })
        setTimeout (function () {
        scope.api.deleteMessage (scope.message._chat._id, scope.message._messageId);
        console.log(scope)
      }, 500);
    }
}

此代码会删除所有长度超过 6 的消息,这不是我想要的...我试过它只检查数字,但它不起作用。

    let isnum = /^\d+$/.test(scope.message._text);
    if (isnum >= 6) {
        scope.api.sendMessage(scope.message._chat._id, 'CODE removed', { 'parse_mode' : 'Markdown' })
        setTimeout (function () {
        scope.api.deleteMessage (scope.message._chat._id, scope.message._messageId);
        console.log(scope)
      }, 500);
    }
}

如何从消息中仅获取数字长度?所以我可以在声明中使用...

任何帮助将不胜感激!我没有在任何地方找到解决方案。

只需使用一些正则表达式删除非数字并检查字符串的长度属性。

var message = `Example: Hello! My code is 123456.`;
var code = message.replace(/[^\d]/g, '');
console.log(`The code is ${code} and it is ${code.length} digits long.`);