DialogFlow / Api.AI内联编辑器正则表达式,用于电子邮件验证

时间:2018-08-30 17:32:47

标签: regex validation dialogflow

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); }
}

2 个答案:

答案 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/