我创建了一个 Web 应用程序,我需要在其中获取一系列数字作为输入:
例如:1-10、0-100 等。
以下是我用来将范围放入变量“s”并显示它的代码。#ucode 是我用来获取输入的文本框的 ID。
//JavaScript
function validate() {
var i = $("#ucode").val(); //input
i = i.replace(/ /,'');
var constraint = /([0-9]+[,-])?[0-9]+$/;
if(!constraint.test(i))
{
alert("Invalid Expression");
return;
}
var a = i.split(","); //split and array
var s = ""; //output string
if(a != "")
{
for(n = 0; n < a.length; ++n )
{
var conh = /^[0-9]-[0-9]$/;
var conc = /^[0-9]+$/;
if(conh.test(a[n]))
{
var range = a[n].split("-");
var ll = parseInt(range[0]); //lower limit
var ul = parseInt(range[1]); //upper limit
if(ul < ll) { alert("Invalid Expression"); return; }
for(m = ll; m <= ul; ++m)
s += " " + m;
}
}
alert(s); // Alert output
}
}
问题是此功能适用于范围 1-9 不超出该范围
如果我给 1-9,它会显示
1 2 3 4 5 6 7 8 9
如果我给出 1-2,5-9,它会显示
1 2 5 6 7 8 9
但如果我给出超过 9 即 1-10 或 5-45,它会显示一条blank
警报消息。
我哪里错了?请帮助我提前谢谢