用于密码验证的正则表达式,不允许使用空格

时间:2010-07-16 14:31:37

标签: ruby-on-rails ruby regex

我的Ruby on Rails应用程序需要一个正则表达式来输入密码字段。

除空格外,允许使用任何字符或数字或符号。

3 个答案:

答案 0 :(得分:8)

如果这是Javascript(或Ruby以外的任何语言)的客户端验证,则此表达式将匹配一个没有空格(\S)的字符串,至少有一个字符(+),否最大:

^\S+$

Ruby是默认情况下使用多行模式的唯一语言,因此行尾^和行尾$的行为不同(每个输入匹配一次,不多少行)。因此,如果您在Ruby中验证输入,则需要使用\A作为行首和\Z作为行尾。

\A\S+\Z

答案 1 :(得分:1)

除了空格以外的所有内容,您是否需要将结果缩小一点?

/[^ ]+/

答案 2 :(得分:1)

这是没有最小长度(或者更确切地说,最小长度为1):

^\S+$

最小长度为8:

^\S{7}\S+$

或者,如果你的正则表达式引擎支持它(不知道为什么它不会):

^\S{8,}$