正则表达式中的空格

时间:2011-04-22 07:16:35

标签: java regex validation

我使用这个常规来验证我的java web应用程序的许多输入字段:

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

但我需要修改它,因为我有几个需要允许空格的字段(例如:地址)。

如何修改它以允许空格(如果可能的话,不在开头)。

我想我需要使用一些像\

这样的角色

我尝试了几种不同的组合,但都没有奏效。有人可以用这个正则表达式帮助我吗?

6 个答案:

答案 0 :(得分:7)

我建议使用它:

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

它增加了两件事:首先,保证在开头没有空格,同时允许你需要的字符。之后,允许使用字母a-zA-Z,以及所有数字和空格(我的正则表达式末尾有空格)。

答案 1 :(得分:3)

如果您只想使用空格,可以执行以下操作:

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

如果您想要包含标签 \t换行 \n \r\n字符,您可以:

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

另外,正如您所问,如果您不希望空格在开头

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

答案 2 :(得分:2)

使用此:^[a-zA-Z0-9]+[a-zA-Z0-9 ]+$。这应该工作。第一个原子确保开头必须至少有一个字符。

答案 3 :(得分:1)

尝试这样^ [a-zA-Z0-9] + $即在其中添加空格

答案 4 :(得分:1)

这个正则表达式不允许字符串末尾的空格,一个缺点是它也接受下划线字符。

^(\w+ )+\w+|\w+$

答案 5 :(得分:1)

试试这个:我假设任何长度至少为一个字符的输入都是有效的。前面提到的答案没有考虑到这一点。

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

如果要允许所有空格字符,请用“\ s”

替换空格