Ruby on rails 在RubyonRails中为验证用户名创建正则表达式

Ruby on rails 在RubyonRails中为验证用户名创建正则表达式,ruby-on-rails,ruby,regex,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby,Regex,Ruby On Rails 3,Ruby On Rails 3.2,我需要在ruby on rails中创建一个正则表达式,以便按照以下规则验证用户名: 1)- The user name accept only lowercase letters, numbers,dashes and underscores 2)- The first character must be a lowercase letter 3)- The username have as minimum 6 characters and 30 characters as maximu

我需要在ruby on rails中创建一个正则表达式,以便按照以下规则验证用户名:

 1)- The user name accept only lowercase letters, numbers,dashes and underscores
 2)- The first character must be a lowercase letter
 3)- The username have as minimum 6 characters and 30 characters as maximun
我想有些是这样的,但我不是很确定

  /^ ([a-z][a-z\_-0-9]+){6,30}  $/

我建议如下:

/^[a-z][a-z\-0-9_]{5,29}$/
我会把它分解:

  • ^[a-z]
    -序列以(
    ^
    )小写字符开头
  • [a-z \-0-9.]
    -该组中的任何字符
  • {5,29}
    -在前一组字符的5到29之间(最多30个,减去序列开头的一个)
  • $
    序列的结尾

您提到了角色类-当然,您可以使用它们。我通常不会这样做,因为它们不便于携带(有人可能会插话证明我错了),我也不认为它们很容易理解,因为我往往会忘记哪些是哪些。YMMV

我建议如下:

/^[a-z][a-z\-0-9_]{5,29}$/
我会把它分解:

  • ^[a-z]
    -序列以(
    ^
    )小写字符开头
  • [a-z \-0-9.]
    -该组中的任何字符
  • {5,29}
    -在前一组字符的5到29之间(最多30个,减去序列开头的一个)
  • $
    序列的结尾

您提到了角色类-当然,您可以使用它们。我通常不会这样做,因为它们不便于携带(有人可能会插话证明我错了),我也不认为它们很容易理解,因为我往往会忘记哪些是哪些。YMMV

我建议如下:

/^[a-z][a-z\-0-9_]{5,29}$/
我会把它分解:

  • ^[a-z]
    -序列以(
    ^
    )小写字符开头
  • [a-z \-0-9.]
    -该组中的任何字符
  • {5,29}
    -在前一组字符的5到29之间(最多30个,减去序列开头的一个)
  • $
    序列的结尾

您提到了角色类-当然,您可以使用它们。我通常不会这样做,因为它们不便于携带(有人可能会插话证明我错了),我也不认为它们很容易理解,因为我往往会忘记哪些是哪些。YMMV

我建议如下:

/^[a-z][a-z\-0-9_]{5,29}$/
我会把它分解:

  • ^[a-z]
    -序列以(
    ^
    )小写字符开头
  • [a-z \-0-9.]
    -该组中的任何字符
  • {5,29}
    -在前一组字符的5到29之间(最多30个,减去序列开头的一个)
  • $
    序列的结尾


您提到了角色类-当然,您可以使用它们。我通常不会这样做,因为它们不便于携带(有人可能会插话证明我错了),我也不认为它们很容易理解,因为我往往会忘记哪些是哪些。YMMV

/^[a-z][a-z \-0-9{5,29}$/
似乎可以用。我错了。空格不被接受。我可以为\d更改0-9吗?a-z代表其他类别当然。查看有关角色类的文档。@Madbreaks,要完成这个问题,我建议您将您的评论作为答案发布,如果daniel选择这样做,他可以接受。你和丹尼尔也可以考虑删除评论。<代码> /[[ZZ] [AZ-0~9] ] {5},29 } $/< /代码>似乎是可行的。我错了。空格不被接受。我可以为\d更改0-9吗?a-z代表其他类别当然。查看有关角色类的文档。@Madbreaks,要完成这个问题,我建议您将您的评论作为答案发布,如果daniel选择这样做,他可以接受。你和丹尼尔也可以考虑删除评论。<代码> /[[ZZ] [AZ-0~9] ] {5},29 } $/< /代码>似乎是可行的。我错了。空格不被接受。我可以为\d更改0-9吗?a-z代表其他类别当然。查看有关角色类的文档。@Madbreaks,要完成这个问题,我建议您将您的评论作为答案发布,如果daniel选择这样做,他可以接受。你和丹尼尔也可以考虑删除评论。<代码> /[[ZZ] [AZ-0~9] ] {5},29 } $/< /代码>似乎是可行的。我错了。空格不被接受。我可以为\d更改0-9吗?a-z代表其他类别当然。查看有关角色类的文档。@Madbreaks,要完成这个问题,我建议您将您的评论作为答案发布,如果daniel选择这样做,他可以接受。你和丹尼尔也可以考虑删除评论。