我正在尝试在我的模型文件中使用 validates_format_of 来验证电子邮件地址。但是,我需要为两种特殊情况输入两个正则表达式。基本上,只允许少数几个顶级域名。
但是,根据 validates 的源代码,它似乎只允许一个 :format 键和一组选项作为哈希值。有没有办法使用多个正则表达式。我已经尝试过逻辑运算符,但它似乎只接受第一个。此外,在同一字段上使用两种验证方法不会导致任何内容被接受,因为一个违反了另一个条件
用实际的术语来解释,假设我只想使用 gmail 或 yahoo 的电子邮件,而不是其他电子邮件。我如何使用正则表达式来表示两者而不是别的?这是我的 gmail 代码,它可以工作:
validates_format_of :email, :with => (/^([^@\s]+)@((?:gmail+.)+[az]{2,})$/i)
如何更改它以包含另一个顶级域名?