我怎么能在Javascript中操作这个数组进行这种错误检查?

时间:2013-03-25 17:37:51

标签: javascript javascript-events javascript-framework

如何使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 axterix.
var cars=["Saab","Volvo","BMW"];  // this array is the right one.

这里是错误的数组

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

非常感谢你的帮助。

4 个答案:

答案 0 :(得分:3)

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

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

相反,我只是有一个textarea和说明。

mockup

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

var cars = document.getElementById('carstextarea').value.split('\n');
// => ["Saab","Volvo","BMW"]

答案 1 :(得分:1)

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

除了网络托管的风格外,后者还可用as a JavaScript library

答案 2 :(得分:0)

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

视觉工作室,netbeans或eclipse有一个插件。

祝你好运!!!

答案 3 :(得分:0)

其中包含cars的第二个*示例将无法编译。

要检查双逗号,可以迭代数组并检查未定义的值。

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

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