调用字符串"a?c"的正则表达式无效?

All*_* L. 4 regex validation

在我的用户模型中,我有一个名为"nickname"的属性,并且如此验证:

validates_format_of:nickname,:with =>/[a-zA-Z0-9] $/,: allow_nil => true

但是,它目前正在使此字符串传递为有效:

一个2 C

我只想接受字母数字字符串 - 有谁知道为什么我的正则表达式失败了?如果有人能提出更好的正则表达,我全都听见了.

Joe*_*orn 17

如果字符串以有效字符结尾,则匹配true.没有验证中间的任何东西.试试这个:

^[a-zA-Z0-9]*$
Run Code Online (Sandbox Code Playgroud)


Rob*_*ble 10

您需要在两侧锚定图案:

/^[a-zA-Z0-9]+$/
Run Code Online (Sandbox Code Playgroud)