https://github.com/dialogflow/fulfillment-regex-nodejs
显示了一种执行正则表达式验证的简单方法,但是我没有为电子邮件地址创建一个成功的方法。
从原始正则表达式中,我将模式更改为[^ \ s] * @ [a-z0-9.-]
将dialogflow参数更改为使用$ email发送电子邮件,其余部分保持不变。
function validateEmployeeID (agent) {
// get the employee ID parameter from the request header received from Dialogflow
let email = agent.parameters.email;
let pattern = /[^\s]*@[a-z0-9.-]/;
if (email.match(pattern) !== null)
{ agent.add(`Email is wrong, please provide a valid email address.`); }
else { agent.add(agent.request_.body.queryResult.fulfillmentText); }
}
答案 0 :(得分:1)
如果您只想创建用于电子邮件验证的正则表达式,则可以使用很多链接。
您可以尝试使用here中的以下一项。
/[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]{2,4}/igm
并在线here
进行测试答案 1 :(得分:0)
经过研究,我在此正则表达式上取得了成功
^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$
更多信息请点击这里。 https://blog.dialogflow.com/post/validate-entities-using-regular-expressions-in-fulfillment/