0

如何让 Javascript 检查数组并确保在逗号分隔数组的每个元素之后没有发生错误。例如,用户可以形成一个数组,其中一行中有两个逗号分隔一个元素而不是一个逗号。不只是逗号,任何其他错误输入。

var cars=["Saab",,"Volvo","BMW"]; // Here , this array has an error , there's a double comma .
var cars=["Saab",*"Volvo","BMW"]; // this array has an error , there's an asterix.
var cars=["Saab","Volvo","BMW"];  // this array is the right one.

这是错误的数组

我可以使用什么 Javascript 函数或解决方案来确保检查数组并且其中没有错误。只有元素和分隔逗号之间没有空格。

非常感谢您的帮助。

4

4 回答 4

3

鉴于您正在尝试验证用户输入的数据,我建议重新评估您的方法。

您不应要求最终用户以有效的 JavaScript 语法输入数据;这对您的用户来说很烦人。

相反,我只需要一个文本区域和说明。

小样

这对人类来说更容易处理,并且解析非常简单:

var cars = document.getElementById('carstextarea').value.split('\n');
// => ["Saab","Volvo","BMW"]
于 2013-03-25T18:11:15.983 回答
1

使用静态代码分析器,例如JSLintJSHint

除了 Web 托管的风格之外,后者还可以作为 JavaScript 库使用。

于 2013-03-25T17:39:12.320 回答
0

您可以使用 jslint 获取 JavaScript 源并对其进行扫描,

visual studio、netbeans 或 eclipse 都有一个插件。

祝你好运!!!

于 2013-03-25T17:45:57.547 回答
0

您的第二个cars示例*将无法编译。

要检查双逗号,您可以遍历数组并检查未定义的值。

for(var i = 0; i<cars.length; i++) {
if(cars[i] === undefined) {
// do something
}
}

或者,您可以在生成数组之前尝试捕获它。有没有办法检查用户输入的空行?

于 2013-03-25T17:53:05.403 回答