0

整数を除くこの関数のみに問題があります。2 ~ 15 文字の間で有効な文字列のみを受け入れる必要がありますか? どんな助けでも感謝します。

function getDescription() {
var Description = [];
Description = prompt("Enter the description: ", "");
    while (!(Description >= 2 && Description <= 15))
    {
        Description = prompt("Error! The description must be between (2 - 15) characters in length.\nEnter the description: ", "");
    }
return Description;
}

getDescription()

編集:私が経験している他の問題は、私が入力しているものだと思いますが、実際には説明に配列として格納されていますか?

4

4 に答える 4

2

を探してい.lengthます。軽い読み物。

于 2012-07-07T14:54:31.843 に答える
2

関数の戻り値はprompt文字列なので、値ではなく文字列の長さを確認する必要があります。

while (!(Description.length >= 2 && Description.length <= 15)){
  // ...
}
于 2012-07-07T14:54:36.453 に答える
2

使用lengthプロパティ:

while (!(Description.length >= 2 && Description.length <= 15))
于 2012-07-07T14:54:37.283 に答える
1

ユーザーが入力した 2 ~ 15 桁の数字に一致する正規表現を使用できます。

function getDescription() {
    var description = prompt("Enter the description: ", "");
    if (description.test(/^\d{2,15}$/)) {
        return description;    
    }
    else {
        return getDescription();    
    }
}

getDescription()​;​
于 2012-07-07T14:55:28.787 に答える