ruby-on-rails - 正则表达式电子邮件:ruby 中电子邮件的数字 + 格式
问题描述
我的数据库中有一个字段电子邮件,也调用应该具有这种格式的电子邮件: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.com\z/
validates :email, presence: true, format: EMAIL_PATTERN
end
推荐阅读
- python - 如何使用 Pandas 在多索引列中创建具有不同级别数的数据框?
- shopify - 删除 facebook 像素错误“ViewContent 事件的匹配键参数无效”
- vue.js - Carousel VueJS - 后退按钮
- python - API 调用函数变量未正确设置
- nosql - 与云服务相比,Oracle NoSQL Cloud Simulator 有哪些限制?
- oauth - 将 OAuth 与 PyGithub 一起使用以请求私有 repo 访问
- android - 即使使用supportsAllDrives = true,Google Drive Api v3也无法上传到sharedDrive
- c++ - 为什么默认参数在模板函数中不起作用?
- python - 如何在 Django Python 中从子类访问父类字段
- npm - Outlook 插件 JS-NPM 运行构建缺少 JS 文件