在我的用户模型中,我有一个名为“nickname”的属性,并按此验证:
validates_format_of:nickname,:with => / [a-zA-Z0-9] $ / ,: allow_nil =>真
但是,它目前正在将此字符串传递为有效:
一个2 C
我只想接受字母数字字符串 - 有谁知道为什么我的正则表达式失败了?如果有人能提出更好的正则表达方式,那我就听见了。
答案 0 :(得分:17)
如果字符串以有效字符结尾,则匹配true。没有验证中间的任何东西。试试这个:
^[a-zA-Z0-9]*$
答案 1 :(得分:10)
您需要在两侧锚定图案:
/^[a-zA-Z0-9]+$/