正则表达式允许字母数字和空格,但不允许连续两个空格


RegEx to allow letters numbers and spaces but not two spaces in a row

你好,我有一个正则表达式,最多允许 18 个字符,只有数字、字母和空格。

如何修改它以检查字符串是以空格开头,还是连续有两个空格?

/^[0-9A-Za-z's]{1,18}$/

我在原生JavaScript(不是jquery)和PHP中都使用了这个正则表达式。

您可以使用负前瞻来检查字符串是否以空格开头或具有 2 个或更多连续空格,如下所示:

^(?!.*'s{2,})(?!^ )[0-9A-Za-z's]{1,18}$
(?:(?![ ]{2}).)+

使用此正则表达式。这可能会解决您的问题。