Javascript 正则表达式限制与特定表达式的完全匹配

Javascript 正则表达式限制与特定表达式的完全匹配,javascript,regex,Javascript,Regex,我的正则表达式匹配单词,并且在单词之间只允许一个空格。下面是我的 这很好,但我想限制包括空间在内的匹配,我如何才能做到这一点?例如: {2,30} 这是行不通的 ^(([a-zA-Z\u4e00-\u9fa5]+ )*[a-zA-Z\u4e00-\u9fa5]+$){2,30} 您可以使用正向前瞻断言来检查长度: ^(?=.{2,30}$)([a-zA-Z\u4e00-\u9fa5]+ )*[a-zA-Z\u4e00-\u9fa5]+$ ^^^^^^^^^^ 在下面的演示中探索正则表达

我的正则表达式匹配单词,并且在单词之间只允许一个空格。下面是我的

这很好,但我想限制包括空间在内的匹配,我如何才能做到这一点?例如:

{2,30}
这是行不通的

^(([a-zA-Z\u4e00-\u9fa5]+ )*[a-zA-Z\u4e00-\u9fa5]+$){2,30}

您可以使用正向前瞻断言来检查长度:

^(?=.{2,30}$)([a-zA-Z\u4e00-\u9fa5]+ )*[a-zA-Z\u4e00-\u9fa5]+$
  ^^^^^^^^^^
在下面的演示中探索正则表达式。我删除了unicode字符以使事情更简单

^(?=.{2,30}$)([a-zA-Z\u4e00-\u9fa5]+ )*[a-zA-Z\u4e00-\u9fa5]+$
  ^^^^^^^^^^