如何在bot框架中验证电话号码?

查娜

我正在使用以下代码来获取用户输入的电话号码。我想验证用户输入,如果不正确,需要要求用户再次输入。

[function (session, results, next) {
    builder.Prompts.text(session, 'I will also need to know your contact number.');
}
,function (session, results, next) {
    session.userData.contactNo = results.response;
    next();
}]

我试过这个例子,但它给出了一个警告,说它已被弃用。感谢有关正确方法的任何帮助(不使用已弃用的方法)。我的电话号码正则表达式是^[689]\d{3}\s?\d{4}$

尼古拉斯·R

文档中有一个有趣的示例

bot.dialog('/phonePrompt', [
    function (session, args) {
        if (args && args.reprompt) {
            builder.Prompts.text(session, "Enter the number using a format of either: '(555) 123-4567' or '555-123-4567' or '5551234567'")
        } else {
            builder.Prompts.text(session, "What's your phone number?");
        }
    },
    function (session, results) {
        var matched = results.response.match(/\d+/g);
        var number = matched ? matched.join('') : '';
        if (number.length == 10 || number.length == 11) {
            session.endDialogWithResult({ response: number });
        } else {
            session.replaceDialog('/phonePrompt', { reprompt: true });
        }
    }
]);

在这里您可以看到,在处理结果的函数中,它们正在执行一些检查,如果无效,则它们正在replaceDialog使用reprompt参数执行 a

您可以在此处使用您的业务逻辑尝试相同的操作(即:进行正则表达式检查而不是示例中的数字长度检查)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章