Ruby on rails 需要帮助获取用户名的正确正则表达式格式吗
我需要帮助使我的用户名的正则表达式格式正确。它假设需要3个字母,并且不允许空格或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,}$/ 否则,
\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
,但是是:)