2017-11-09 9 views
1

入力によって入力したテキストを検証しようとしています。これは、置換する関数を使用するためにチェーン内のすべての空白を削除することから成ります。私はすべてのスペースを削除することによって文字列が空のままであることを望みます。つまり、長さはゼロですが、スペースが削除されても同じ長さのままであれば起こりません。私は間違って何をしていますか?実行後の長さが間違っている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"); 
} 
}; 
+0

このチェックアウト:https://stackoverflow.com/questions/6623231/remove-all-white-spaces-from-text –

+1

あなたのコードは、最初**を削除します** スペース。 – Pointy

+0

彼が見つけた最初のスペースを置き換えるだけなら、私はばかです。私のナンセンスの質問に申し訳ありません。私はJavaアプリケーションをJavaスクリプトに移行していますが、私はjavaでreplaceAll()を使用したことを覚えていませんでした。ありがとうございました –

答えて

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>

+0

私は彼が見つけた最初のスペースを置き換えるだけであればばかです。私のナンセンスの質問に申し訳ありません。私はJavaアプリケーションをJavaスクリプトに移行していますが、私はjavaでreplaceAll()を使用したことを覚えていませんでした。ありがとうございました。 –

+0

@trokbrk問題ありません。答えとして投票してマークすることを忘れないでください。 –

関連する問題