首页 文章

具有字母,没有空格或具有一定长度的数字的用户名的正则表达式是什么?

提问于
浏览
1

什么是正则表达式,只允许字母,没有空格或数字,长度为20个字符?

可接受的用户名的一些示例:

ask1kew
supacool
sec1entertainment
ThatPerson1
Alexking

一些不可接受的用户名示例:

No_problem1
a_a_sidkd
Thenamethatismorethen20characterslong

2 回答

  • 1

    如果您将自己限制为ASCII,这应该有效:

    /\A[a-z0-9]{,20}\z/i
    

    这也会匹配一个空字符串,所以你可能想要添加一个下限(在这个例子中为5):

    /\A[a-z0-9]{5,20}\z/i
    

    如果你想冒险并允许使用非ASCII字母而你正在使用Ruby 1.9那么你可以使用它:

    /\A\p{Alnum}{5,20}\z/
    /\A\p{Alnum}{,20}\z/   # If no lower limit on length is desired.
    
  • 5

    ^[a-zA-Z0-9]{1,20}$

    {1,20}{min, max} 所以您可以将其设置为 {5,20} ,将其限制为最少5个字符,最多为20个字符 .

相关问题