如何使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函数或解决方案来确保检查数组并且没有错误。只有元素和分隔逗号之间没有空格。
非常感谢你的帮助。
答案 0 :(得分:3)
鉴于您正在尝试验证用户输入的数据,我建议您重新评估您的方法。
您不应要求最终用户以有效的JavaScript语法输入数据;这对您的用户来说很烦人。
相反,我只是有一个textarea和说明。
这对人类来说更容易处理,解析非常简单:
var cars = document.getElementById('carstextarea').value.split('\n');
// => ["Saab","Volvo","BMW"]
答案 1 :(得分:1)
除了网络托管的风格外,后者还可用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
}
}
或者你可以在生成数组之前尝试捕获它。有没有办法检查用户输入的空行?