ResearchKit:验证电子邮件

ResearchKit: Validate email

我正在尝试创建一个表单步骤,其中一个表单步骤项目是电子邮件输入。为此,我想针对某些域验证电子邮件,即

@gmail.com, @icloud.com, @me.com

我可以看到我们有一个电子邮件回复格式,格式如下:

ORKEmailAnswerFormat()

但是我看不到这种类型的任何地方允许我应用验证正则表达式。调查一下我发现我们有以下内容

ORKAnswerFormat.textAnswerFormatWithValidationRegex(validationRegex, invalidMessage)

我想这是我最好的选择?如果是这样,有人会知道 swift 中可以处理上述 3 个域的正则表达式(我的正则表达式不是最好的!)吗?

我有这样的东西...(不是我所知道的最棒的!)

[A-Z0-9a-z._%+-]+@gmail.com

[A-Z0-9a-z._%+-]+@(?:icloud|me|gmail)\.com

(或者,如果您不关心捕获:)

[A-Z0-9a-z._%+-]+@(icloud|me|gmail)\.com

现在我做了两个修改。我逃脱了 . 并且我做到了,所以其他两个域是选项。

我建议您将整个内容转换为小写。我不知道 Swift,但您可以使用它的功能之一或 i 修饰符:

(?i)[0-9a-z._%+-]+@(icloud|me|gmail)\.com