正则表达式验证字符串中间的空格

时间:2014-01-10 09:48:19

标签: regex string

我想构造一个由字母数字字符组成的正则表达式,并且可以在字符串的末尾添加空格,但不能在字符串的开头或中间。

我想出了类似^[a-zA-Z0-9]+[a-zA-Z0-9\s]*$之类的内容,这在开头不允许空格,但它不适用于字符串中间的空格。

有什么建议吗?

3 个答案:

答案 0 :(得分:4)

你最后允许空格 OR 字符多次。然后你可以有空格,然后是字符:

^[a-zA-Z0-9]+[a-zA-Z0-9\s]*$

enter image description here

相反,请将[a-zA-Z0-9\s]*部分更改为\s*,以确保您不会在空格之后使用字符:

^[a-zA-Z0-9]+\s*$

enter image description here

答案 1 :(得分:2)

如果只允许在结尾处使用空格,那么请明确说明:

^[a-zA-Z0-9]+\s*$

答案 2 :(得分:0)

只需使用<f:validateRegex pattern="^[a-zA-Z0-9]+$" />

即可

在表单验证期间,将自动删除开头和结尾的空格,用户将无法在文本中间添加空格。