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