运行后错误的长度替换javascript

时间:2017-11-09 20:39:25

标签: javascript

我正在尝试验证您通过输入输入的文本。它包括删除链中的所有空格,以便使用要替换的函数。我希望通过删除所有空格,字符串保持为空,即零长度,但如果删除空格但仍保持相同的长度,则不会发生这种情况。我做错了什么?

document.getElementById("Validator").onclick = function() {
 var expression = document.getElementById("expressions").value;
 var aux=expression.replace(" ","");
if(aux.length==0){
 alert("the expression contains only blank spaces");
}
};

1 个答案:

答案 0 :(得分:1)

您正在将一个文字字符串传递给.replace()函数,以便找到它(" ")。这实际上不会替换所有空格,它只会替换搜索字符串中的第一个空格。要确保搜索整个字符串,请使用正则表达式。

来自 MDN

  

要执行全局搜索和替换,请在中包含g开关   正则表达式。



document.getElementById("Validator").onclick = function() {
  var expression = document.getElementById("expressions").value;
  
  // Find one or more spaces throughout the string:
  var aux = expression.replace(/\s+/g,"");
  
  if(aux.length === 0){
   alert("the expression either contains only blank spaces or nothing was typed at all.");
  }
};

<input id="expressions">
<button id="Validator">Validate</button>
&#13;
&#13;
&#13;