ユーザー入力から、数字を含む必要がある文字列を受け取ります。0
空の文字列は別の方法で処理する必要があります。
この簡単なケーススタディを作成しました
0 == "" // true
parseInt(0) == "" // true
parseInt("") // NaN
parseInt("") == "NaN" // false
parseInt("") == NaN // false
typeof parseInt("") // "number"
少し余分な調査を行って、このソリューションを作成しました(uInput
ユーザー入力を考慮して)
function userInput(uInput){
var n = parseInt(uInput);
if (isNan(n))
// empty string
else
// 0 or number
}
Google Chrome では 0 と空の文字列を正しく区別できるようです。
私が知りたいのは:
- これは最善/最も効率的なソリューションですか?
- このソリューションはどのブラウザーでも互換性がありますか?
- これはまったく解決策ですか?
n
数値以外のものになる方法はありますか(uInput
あらゆる種類の文字列になる可能性があると考えてください)。
私はこれを尋ねるつもりはありませんが、空の文字列と 0 は同じように扱われるため (?!)、自分のコードが潜在的に公開されている他の穴がどれかわかりません。