我正在尝试验证允许空格和换行的字母数字输入
validates_format_of :field, with: /^[a-zA-Z0-9 ]*$/, multiline: true, allow_blank: true
在我的表格中,我输入以下内容:
其已接受并通过验证
所需的行为是仅接受字母数字文本(允许为空白),并在文本中的任何位置接受空格/换行符。因此,仅在包含任何字母数字字符
时才拒绝输入答案 0 :(得分:2)
您可以使用
/\A[a-zA-Z0-9 ]*(?:\R[a-zA-Z0-9 ]*)*\z/
请参见Rubular演示。
详细信息
\A
-字符串的开头[a-zA-Z0-9 ]*
-0个或更多字母,数字或空格(?:\R[a-zA-Z0-9 ]*)*
-重复0次或更多次
\R
-换行符[a-zA-Z0-9 ]*
-0个或更多字母,数字或空格\z
-字符串的结尾。答案 1 :(得分:0)
我添加了一些白名单逗号和句号。
format: { with: /\A[a-zA-Z0-9 ,.;'"+-?!%$]*(?:\R[a-zA-Z0-9 ,.;'"+-?!%$]*)*\z/}