用于空格或   的 javascript 正则表达式

新手上路,请多包涵

我正在寻找空白的 javascript 正则表达式。我在一个循环中检查几个不同的字符串,我需要找到其中有大空白的字符串。

空白字符串构建在一个循环中,就像这样……

请将此代码阅读为 var whitespace = " " 然后循环将在其上连接更多不间断空格。

 var whitespace = " "

        for (var x = 0; x < 20; x++) {
            whitespace += "&nbsp;"
        }

然后它稍后在字符串连接中使用。

 sometext += whitespace + someData;

我需要识别包含空格(20 个空格)的字符串。

或者我应该只是做一个 contains(whitespace) 或类似的东西。

任何帮助表示赞赏。

干杯,〜ck在圣地亚哥

原文由 Hcabnettek 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 355
2 个回答

如果您将空白定义为 20 个空格,则可以

var input = whitespace + someData;
if(input.indexOf(whitespace) != -1)
{
   //input contains whitespace.
}

如果可以不用正则表达式,则无需使用正则表达式。

原文由 SolutionYogi 发布,翻译遵循 CC BY-SA 2.5 许可协议

对于这个具体问题,Yogi 是正确的——您不需要正则表达式,没有它您可能会过得更好。

为了将来参考,如果其他人来看,正则表达式有一个特殊的空格字符:

 \s

用 JS 的说法(正则表达式文字可能包含在正斜杠中)如果你正在寻找 20 个空格(不是制表符、换行符等),你可以这样做:

 / {20}/

您还需要注意,许多浏览器正则表达式引擎不会将不间断空格视为空格。 NBSP 字符的 unicode 表示是:

 \u00A0

组合,寻找 20 个空白字符(包括制表符等)或一行中的 NBSP 的任意组合(方括号表示“字符类”):

 /[\s\u00A0]{20}/

编辑:结合托马斯关于 NBSP 的观点。如果您愿意,请发表他的评论和/或回答赞成票——我知道我有。

原文由 steamer25 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题