我想构造一个由字母数字字符组成的正则表达式,并且可以在字符串的末尾添加空格,但不能在字符串的开头或中间。
我想出了类似^[a-zA-Z0-9]+[a-zA-Z0-9\s]*$
之类的内容,这在开头不允许空格,但它不适用于字符串中间的空格。
有什么建议吗?
答案 0 :(得分:4)
你最后允许空格 OR 字符多次。然后你可以有空格,然后是字符:
^[a-zA-Z0-9]+[a-zA-Z0-9\s]*$
相反,请将[a-zA-Z0-9\s]*
部分更改为\s*
,以确保您不会在空格之后使用字符:
^[a-zA-Z0-9]+\s*$
答案 1 :(得分:2)
如果只允许在结尾处使用空格,那么请明确说明:
^[a-zA-Z0-9]+\s*$
答案 2 :(得分:0)
只需使用<f:validateRegex pattern="^[a-zA-Z0-9]+$" />
在表单验证期间,将自动删除开头和结尾的空格,用户将无法在文本中间添加空格。