正则表达式匹配没有连续空格的用户名

regex to match a username with no consecutive spaces

我正在努力制作一个 javascript 正则表达式来满足以下条件:

  1. 第一个字符必须是字母 ([a-zA-Z])
  2. 其余可以是任意字母、任意数字、连字符、点、下划线和空格
  3. 但没有连续的空格,例如:连续两个或更多空格
  4. 长度必须在 3 到 25 之间(含)

所以这是我发现的 Regex

/^[a-z][\s\w.-]{3,24}$/i

我当前的正则表达式可以工作,但无法测试用户是否输入了连续的空格。我该如何测试?

这应该适合你:

/^[a-z](?!.* {2})[ \w.-]{2,24}$/gmi

RegEx Demo