ruby-on-rails - 验证 : Only letters, 数字和 -

标签 ruby-on-rails ruby regex

我想验证我的用户,因此他们只能在用户名中使用 a-z 和 -。

validates_format_of :username, :with => /[a-z]/

然而这条规则也允许空格 ._@

Username should use only letters, numbers, spaces, and .-_@ please.

有什么想法吗?

最好的问候。 阿斯比约恩莫雷尔

最佳答案

您可能需要说整个字符串必须匹配:

validates_format_of :username, :with => /^[-a-z]+$/

如果您不想在开始/结束处匹配换行符,您可能还需要将 ^ 替换为\A 并将 $ 替换为\Z。 (感谢 BaroqueBobcat)

附加 i 将导致它以不区分大小写的方式进行匹配。 (感谢 Omar Qureshi)。

(我最初也放弃了 +:感谢 Chuck )

关于ruby-on-rails - 验证 : Only letters, 数字和 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1136049/

相关文章:

mysql - 可以向可链接查询添加选项吗?

javascript - 正则表达式从文本中检索特定的 url

javascript - 匹配日期格式的正则表达式

ruby - 我可以禁用 ruby​​ 记录器的日志 header 吗?

Java 正则表达式不匹配?

ruby-on-rails - 如何创建多态关系的种子

ruby-on-rails - 学习RoR和Mongo,为什么不统计数组的票数

ruby-on-rails - 如何从已连接相同模型/类/表的表中进行选择?

ruby - 有没有像使用 ruby​​gems 分发非 ruby​​ 脚本的既定方法?

ruby - 检查 ActiveRecord::Base 实例的测试代码