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

用于空格或&;的javascript正则表达式;nbsp;,javascript,regex,Javascript,Regex,我正在寻找一个用于空白的javascript正则表达式。 我在一个循环中检查几个不同的字符串,我需要找到其中有大空格的字符串 空白字符串构建在一个循环中,如下所示 请以var whitespace=“的形式阅读此代码,然后循环只会在其上包含更多不间断的空格 var whitespace = "&nbsp;" for (var x = 0; x < 20; x++) { whitespace += "&nbsp;" }

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

空白字符串构建在一个循环中,如下所示

请以
var whitespace=“
的形式阅读此代码,然后循环只会在其上包含更多不间断的空格

var whitespace = "&nbsp;"

        for (var x = 0; x < 20; x++) {
            whitespace += "&nbsp;"
        }
我需要识别包含空格(20个空格)的字符串

或者我应该只做一个
包含(空白)
或类似的操作

感谢您的帮助

干杯,
~ck在圣地亚哥

如果您将空格定义为20个空格,您可以这样做

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

如果你可以不使用正则表达式,就没有必要使用它。

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

为了便于将来参考,如果有人来看,regex有一个特殊的空格字符:

\s
用JS的说法(regex文本可能用正斜杠括起来),如果您要查找20个空格(不是制表符、换行符等),您可以这样做:

/ {20}/
<>你也要注意,许多浏览器正则表达式引擎不认为非破坏空间是空白。NBSP字符的unicode表示形式为:

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

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

对于IE(我在IE7中测试过),
\s
不匹配,但Chrome和Firefox匹配。因此,如果您想消除空白,但不想使用
(无空格),请不要使用
\s
,因为这对浏览器不安全


例如,要消除所有空格,包括\n\t但不包括
,可以使用
\n\t
和空格,即:
str.replace(/[\t\n]+/g,”)
至少IE和Chrome在\s中不包括char 160(nbsp)。包含它的正则表达式是

wsregex = /[\s|\u00A0]/
另见
世卫组织报道了IE,但同时chrome显然也改为不包括它。

谢谢Yogi!!顺便问一下,你怎么这么快就知道我的问题了?每当我问一个正则表达式问题,你都会很快回答。是和推特有关还是什么的?我只是好奇~CKSO上有一个问题源。只需将您的RSS阅读器设置为它即可。:-)每当你提出问题时,我都会收到一封电子邮件!;)只是开玩笑。我每隔几个小时登录一次SO,看看是否有问题我可以回答。另外,我查看了您过去的问题,似乎有相当多的问题您都没有接受答案。如果你能标出帮助你解决问题的答案,那就太好了。我认为Twitter很可能是一种传播问题的方式。我需要订阅RSS提要。谢谢大家!有人可能会这么想,但实际上这对于太多的浏览器来说是完全错误的。太棒了!NBSP的unicode代码点正是我想要的。这对于将字符串拆分为单词非常有用:
句子.split(/[\s\u00A0]+/)
/[\s\u00A0]{20}/
wsregex = /[\s|\u00A0]/