正则表达式电子邮件:红宝石中电子邮件的数量+格式



我的数据库中有一个字段电子邮件,也调用应该具有这种格式的电子邮件:123456789@pac.gmail.com其中123456789应该是数字和长度为9。

在我的模型中,我尝试使用以下代码为我的用户格式化:

class Email < ApplicationRecord
EMAIL_PATTERN = /^[0-9]+/@pac.gmail.com
LENGTH = 9
validates :email, presence: true, format: EMAIL_PATTERN, length: LENGTH
end

但是我有一个错误unexpected tIVAR, expecting end但我不明白为什么我的代码中应该有一个END,因为我不启动任何循环或其他东西, 有没有人知道如何以正确的方式格式化电子邮件以及为什么我有这种错误?

无需单独检查长度;您可以在正则表达式中执行此操作。如果我理解正确,您要确保有 9 位数字后跟@pac.gmail.com.你可以这样做:

class Email < ApplicationRecord
EMAIL_PATTERN = /A[0-9]{9}@pac.gmail.comz/
validates :email, presence: true, format: EMAIL_PATTERN
end

最新更新