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 回答