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

时间:2008-10-14 19:03:02

标签: regex validation

在我的用户模型中,我有一个名为“nickname”的属性,并按此验证:

  

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

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

一个2 C

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

2 个答案:

答案 0 :(得分:17)

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

^[a-zA-Z0-9]*$

答案 1 :(得分:10)

您需要在两侧锚定图案:

/^[a-zA-Z0-9]+$/