我使用这个常规来验证我的java web应用程序的许多输入字段:
"^[a-zA-Z0-9]+$"
但我需要修改它,因为我有几个需要允许空格的字段(例如:地址)。
如何修改它以允许空格(如果可能的话,不在开头)。
我想我需要使用一些像\
我尝试了几种不同的组合,但都没有奏效。有人可以用这个正则表达式帮助我吗?
答案 0 :(得分:7)
我建议使用它:
^[a-zA-Z0-9][a-zA-Z0-9 ]+$
它增加了两件事:首先,保证在开头没有空格,同时允许你需要的字符。之后,允许使用字母a-z
和A-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”
替换空格