2

我在 ASP.NET 应用程序中有一个文本框,为此我需要使用正则表达式来验证用户输入字符串。正则表达式的要求是 -

  1. 它应该只允许单词之间有一个空格。也就是说,单词或字符之间的空格总数应该只有一个。
  2. 它应该忽略前导和尾随空格。

火柴:

  • 测试
  • 测试 abc

不匹配:

  • 测试 abc def
  • 测试 abc --> 我想在两个单词之间包含多个空格。然而,编辑在发布问题时会忽略这些额外的空格。
4

4 回答 4

3

假设必须有一个或两个“单词”(即非空格字符序列)

"\s*\S+(\s\S+)?\s*"

如果您只想允许字母,请更改\S为。[A-Za-z]

于 2013-03-20T15:41:18.680 回答
2

很简单:

/^ *(\w+ ?)+ *$/

小提琴:http ://refiddle.com/gls

于 2013-03-20T15:02:17.660 回答
0

也许这个会做?

\s*\S+?\s?\S*\s*

编辑:它是一个服务器编码的正则表达式,这意味着您可能需要删除其中一个转义斜杠。

于 2013-03-20T15:26:30.110 回答
0

怎么样:

^\s*(\w+\s)*\w+\s*$
于 2013-03-20T15:47:42.597 回答