rails中的用户名正则表达式

god*_*yan 0 regex ruby-on-rails username

我试图找到一个正则表达式来限制一个人可以使用我的网站上的用户名.我不需要检查它中有多少个字符,因为另一个验证是这样做的.基本上我需要做的就是确保它允许:字母(大写和小写)数字,破折号和下划线.

我遇到了这个:/ ^ [ - az] + $/i

但它似乎不允许数字.

我错过了什么?

Thi*_*ilo 5

你正在寻找的正则表达式是

/\A[a-z0-9\-_]+\z/i
Run Code Online (Sandbox Code Playgroud)

表示范围az的一个或多个字符,范围0-9, - (需要使用反斜杠进行转义)和_,不区分大小写(i限定符)