Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby格式验证[无空白]_Ruby On Rails_Regex_Validation_Models - Fatal编程技术网

Ruby on rails Ruby格式验证[无空白]

Ruby on rails Ruby格式验证[无空白],ruby-on-rails,regex,validation,models,Ruby On Rails,Regex,Validation,Models,我正在尝试为文本字段创建一个格式验证,它将拒绝任何带有空格的内容。有人能帮我解释一下正则表达式的语法吗?这就是我尝试过的: no_whitespace = /\A[\S]\z/i validates :customurl, :format => { :with => no_whitespace } 我是编程新手,对正则表达式一无所知。任何帮助都将不胜感激。谢谢 试试这个: no_whitespace = /[\S]*/ no_whitespace = /^[\S]+$/ 用

我正在尝试为文本字段创建一个格式验证,它将拒绝任何带有空格的内容。有人能帮我解释一下正则表达式的语法吗?这就是我尝试过的:

no_whitespace = /\A[\S]\z/i

validates :customurl,  :format => { :with => no_whitespace }
我是编程新手,对正则表达式一无所知。任何帮助都将不胜感激。谢谢

试试这个:

no_whitespace = /[\S]*/
no_whitespace = /^[\S]+$/
用于帮助您形成和测试正则表达式。

尝试以下操作:

no_whitespace = /[\S]*/
no_whitespace = /^[\S]+$/
用于帮助您形成和测试正则表达式。

尝试以下操作:

no_whitespace = /[\S]*/
no_whitespace = /^[\S]+$/
应在字符串的开头(^)和结尾($)之间不指定空格字符,并且至少指定1个字符。

请尝试以下操作:

no_whitespace = /[\S]*/
no_whitespace = /^[\S]+$/

这应该不会指定字符串开头(^)和结尾($)之间的空格字符,并且至少指定1个字符。

hmm…似乎不起作用。它仍然允许我传递一个带有空格的值。嗯……似乎不起作用。它仍然允许我传递带有空格的值。太棒了!我想是这样的!您应该使用
/\A\S+\Z/
,以防恶意用户试图发送带有换行符的文本。方括号不是必需的。
^
表示行的开头,而不是字符串。类似地,
$
表示行的结尾,而不是字符串的结尾。也就是说,OP的正则表达式应该适用于整个字符串(使用
\A
\Z
)。只是OP忘记了包含
+
。因此,这对OP
/\A[\S]+\Z/
@zabba是有效的。如果您完全正确,您应该使用\A和\Z来确保安全。但是,在这种情况下,^和$也可以使用,因为\S包含换行符。太棒了!我想是这样的!您应该使用
/\A\S+\Z/
,以防恶意用户试图发送带有换行符的文本。方括号不是必需的。
^
表示行的开头,而不是字符串。类似地,
$
表示行的结尾,而不是字符串的结尾。也就是说,OP的正则表达式应该适用于整个字符串(使用
\A
\Z
)。只是OP忘记了包含
+
。因此,这对OP
/\A[\S]+\Z/
@zabba是有效的。如果您完全正确,您应该使用\A和\Z来确保安全。但是,在这种情况下,^和$也可以使用,因为\S包含换行符。