我的Ruby on Rails应用程序需要一个正则表达式来输入密码字段。
除空格外,允许使用任何字符或数字或符号。
答案 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,}$