rails 4 模型文本正则表达式允许 0-9、a-z、链接和电子邮件地址

rails 4 model text regex allow 0-9, a-z, links and email address

我正在使用以下模型验证并且我的测试正在运行,除非我开始添加包含链接的功能,坏字符正在通过 :(

  validates :application_process,
            presence: true,
            format: { with: %r{\A[\w\d .,:/-@&?]+\z}, message: :bad_format }

我想允许以下内容:

您的正则表达式包含 -。字符 class 内的连字符如果未转义且不出现在 shorthand 字符 class 之后,则创建一个范围,字符 class 的范围、开始或结束.

因此,如果您需要匹配文字连字符,请将其转义或放置在字符 class 的末尾(在 ] 之前)。

要仅匹配您在问题中指定的字符和范围,请使用

%r{\A[A-Za-z0-9?:/@.,]+\z}

要添加连字符:

%r{\A[A-Za-z0-9?:/@.,-]+\z}
                     ^