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

Hca*_*tek 8 javascript regex

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

白色空格字符串是一个循环,像这样......

请阅读此代码,var whitespace = " "然后循环只会在其上连接更多非破坏空格.

var whitespace = " "

        for (var x = 0; x < 20; x++) {
            whitespace += "&nbsp;"
        }
Run Code Online (Sandbox Code Playgroud)

然后它会在字符串concat中使用.

sometext += whitespace + someData;
Run Code Online (Sandbox Code Playgroud)

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

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

任何帮助表示赞赏.

干杯,〜在圣地亚哥

ste*_*r25 37

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

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

\s
Run Code Online (Sandbox Code Playgroud)

在JS用法(正则表达式文字可以用正斜杠括起来)如果你要查找20个空格(不是制表符,换行符等),你可以这样做:

/ {20}/
Run Code Online (Sandbox Code Playgroud)

您还需要注意,许多浏览器正则表达式引擎不会将非破坏空间视为空白.NBSP字符的unicode表示形式为:

\u00A0
Run Code Online (Sandbox Code Playgroud)

组合,寻找20个空格字符(包括制表符等)的任意组合或连续的NBSP(方括号表示'字符类'):

/[\s\u00A0]{20}/
Run Code Online (Sandbox Code Playgroud)

编辑:纳入托马斯关于NBSP的观点.如果愿意的话,发表评论和/或回答投票 - 我知道我有.


cit*_*kid 11

至少IE和Chrome\ s中不包含char 160(nbsp).包含它的正则表达式是

wsregex = /[\s|\u00A0]/
Run Code Online (Sandbox Code Playgroud)

另见 http://www.adamkoch.com/2009/07/25/white-space-and-character-160/ 谁报道了IE,但同时chrome显然也改为不包括它.


Sol*_*ogi 1

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

var input = whitespace + someData;
if(input.indexOf(whitespace) != -1)
{
   //input contains whitespace.
}
Run Code Online (Sandbox Code Playgroud)

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