首页 > 解决方案 > 正则表达式限制文本字符串中的空格数

问题描述

我正在尝试建立以下内容,但我无法做到。我需要在我的文本字符串中完全不允许空格或最多 2 个空格。以下是我的正则表达式:

/^([^\s]*\s[^\s]*){0,2}$/

上面的部分工作正常,即在我的文本中允许 1 到最多 2 个空格,但是当我的文本中根本没有空格时它会失败,尽管我已经定义了 0 到 2。

有什么帮助吗?

标签: regexspaces

解决方案


如果您不想允许两个以上的连续空格,请使用否定的前瞻断言:

/^(?!.*[ ]{3,}).*$/

如果要限制总共两个或更少的空格,请使用:

/^\S*\s?\S*\s?\S*$/

推荐阅读