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 }
我想允许以下内容:
- A-Z
- a-z
- 0-9
- ?
- :
- /
- @
- .
- ,
您的正则表达式包含 -
。字符 class 内的连字符如果未转义且不出现在 shorthand 字符 class 之后,则创建一个范围,字符 class 的范围、开始或结束.
因此,如果您需要匹配文字连字符,请将其转义或放置在字符 class 的末尾(在 ]
之前)。
要仅匹配您在问题中指定的字符和范围,请使用
%r{\A[A-Za-z0-9?:/@.,]+\z}
要添加连字符:
%r{\A[A-Za-z0-9?:/@.,-]+\z}
^
我正在使用以下模型验证并且我的测试正在运行,除非我开始添加包含链接的功能,坏字符正在通过 :(
validates :application_process,
presence: true,
format: { with: %r{\A[\w\d .,:/-@&?]+\z}, message: :bad_format }
我想允许以下内容:
- A-Z
- a-z
- 0-9
- ?
- :
- /
- @
- .
- ,
您的正则表达式包含 -
。字符 class 内的连字符如果未转义且不出现在 shorthand 字符 class 之后,则创建一个范围,字符 class 的范围、开始或结束.
因此,如果您需要匹配文字连字符,请将其转义或放置在字符 class 的末尾(在 ]
之前)。
要仅匹配您在问题中指定的字符和范围,请使用
%r{\A[A-Za-z0-9?:/@.,]+\z}
要添加连字符:
%r{\A[A-Za-z0-9?:/@.,-]+\z}
^