简单的正则表达式空白检查器

时间:2013-07-09 04:13:39

标签: javascript regex

我只是试图'继续'我的循环,如果它是空白的话。我的目标是不允许任何空格进入“输出”。我已经尝试了以下所有但是它们都不起作用。

var input = document.getElementById('textinput').value;
var lines = input.split('\n');
var output = '';
var patt1=/\s/g;

$.each(lines, function(key, line) {
    var parts = line.split(' ');
for (var iii=0; iii<parts.length; iii++)
{           
    if(parts[iii]==/\s/g)
        {continue;}

    output+= parts[iii];
}

我也试过

if(patt1.test(parts[iii]) == true){continue;}
if(patt1.test(\'+parts[iii]+\') == true){continue;}
if (parts[iii]==" "|parts[iii]=="\n"|parts[iii]=="\t") continue;
if (parts[iii]=== |parts[iii]===\n|parts[iii]===\t){continue;}

如果它有帮助,如果我输入,那么部分[iii] =='鸡'评估为真。

1 个答案:

答案 0 :(得分:0)

我建议你使用文字符号,并使用\ s字符类:

    str.replace(/\s/g, '');

// .. 使用字符类\ s和''之间存在差异,这将匹配更多的空白字符,例如'\ t \ r \ n'等等...,寻找''将仅替换ASCII 32个空格。

当您想要构建动态模式时,RegExp构造函数很有用,在这种情况下您不需要它。

此外,如你所说,“[\ s] +”没有使用RegExp构造函数,那是因为你传递一个字符串,你应该“双重转义”反斜杠,否则它们将被解释当字符在字符串内转义时(例如:“\ s”===“s”(未知逃脱))。