在我的网络应用程序中,我有一个文本框,用户应在其中输入5到200个字符的字符。
问题是 - 当用户连续5个空格并保存条目时,它会成功保存。
我应该阻止用户连续输入'空格'(或单独使用空格)。
但我可以允许单个空格(比如'customer table',customer table')。
但是我可以允许用户输入带有字符的空白区域。另外,我不希望这个名字以空格开头。
有人可以帮助我获得上述条件的REGEX吗?
答案 0 :(得分:2)
^\S+(\s\S+)*$
这个正则表达式应该做你想要的。它接受以非空白字符开头和结尾的非空字符串,并且只在单词之间使用一个空格。
您应该分别检查总字符串长度。
请注意,您需要在Java中转义\。
答案 1 :(得分:0)
以空格开头或包含2个以上的连续空格:
^\s|\s{2,}
答案 2 :(得分:0)
我建议你创建两个模式
一个^\s
和另一个\s{2,}
如果任何一个匹配则拒绝该字符串
或者,如果您想要禁用空格和换行符匹配的内容,请使用{2,}
,但无论如何都不应该有新行。
答案 3 :(得分:0)
将所有"\\s{2,}"
替换为" "
,然后将所有"^\\s+|\\s+$"
替换为""
(如果找到,则搜索并拒绝,具体取决于您的逻辑)。