首页 > 解决方案 > 我如何在“@”之前限制红宝石中电子邮件的输入计数

问题描述

例如 {limit [5-50] for here}@email.com

email@hotmail.com -> 不正确,因为输入的字符数小于 5 tryemail@hotmail.com -> 正确

你能解释一下解决方案吗?

标签: ruby-on-railsregexvalidation

解决方案


也许就这么简单:

local_part, domain = email.split('@')

local_part.length < 5

尽管请记住,许多人的地址确实很短,所以这里不要太严格。

您也可以使用正则表达式执行此操作:

email.match?(/\A[^@]{5,50}@[^@]+\z/)

这是一个非常松散的解析器。


推荐阅读