Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 需要帮助获取用户名的正确正则表达式格式吗

Ruby on rails 需要帮助获取用户名的正确正则表达式格式吗,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我需要帮助使我的用户名的正则表达式格式正确。它假设需要3个字母,并且不允许空格或\uuu。到目前为止,我认为我在正确的轨道上: validates_format_of :username, :with => /([^a-zA-Z]*([a-zA-Z]+)[^a-zA-Z]*){3,}/ 这允许使用空格,但我不确定这在总体上是否正确。我需要对这个正则表达式进行哪些更正,以消除使用空格或\uuu的能力?如果您的意思是它必须是所有字母,那么它只是: /^[a-zA-Z]{3,}$/ 否则,

我需要帮助使我的用户名的正则表达式格式正确。它假设需要3个字母,并且不允许空格或
\uuu
。到目前为止,我认为我在正确的轨道上:

validates_format_of :username, :with => /([^a-zA-Z]*([a-zA-Z]+)[^a-zA-Z]*){3,}/ 

这允许使用空格,但我不确定这在总体上是否正确。我需要对这个正则表达式进行哪些更正,以消除使用空格或
\uuu
的能力?

如果您的意思是它必须是所有字母,那么它只是:

/^[a-zA-Z]{3,}$/
否则,请使用前瞻:

/^(?=(.*[a-zA-Z]){3})[allowed characters here]+$/

哎呀,我忘了零件的编号了。我如何让它至少需要3个字母,没有空格或下划线,并且允许数字?@LearningRoR:请参阅更新,您可以指定任何字符集。(数字应该是
a-zA-Z0-9
)因此:
/^(?=(.[a-zA-Z]){3}[a-zA-Z0-9]+$/
@learningor:a-Z应该是
a-Z
,但是是:)