输入文本的验证

Validation of input text

我有 'myTextarea' 这样用户可以将他们的文本放入其中,他们应该只使用 "numbers" 和“,”。

他们输入的文字必须是这样的: 2,4,6,2,67,43,...数字、逗号、数字、逗号等。

这行代码对我有帮助:

levelTextarea.restrict = "0-9,";

但问题是用户可以连续输入很多逗号 2,3,44,5,6,5,5.... 我需要数字,逗号,数字...

我会将他们的输入转换成一个数组。 是否可以验证输入文本,例如:

if (myTextarea is valid)
{
    continue
}
else
{
    trace ("invalid input");
}

可能有更好的方法,但想到的一个简单方法就是这样做:

var myValue:String = myTextarea.text;

while(myValue.indexOf(",,") >= 0){
    myValue = myValue.replace(",,",",");
}

当然,如果你只是想在一天结束时得到一组数字,你可以这样做:

//create the array
var arr:Array = myTextarea.text.split(",");

//loop backwards through the array and remove anything that is empty
for(var i:int=arr.length-1;i>=0;i--){
    if(!arr[i] || arr[i] == ""){
        arr.splice(i,1);
        continue;
    }
    //convert the value to a number
    arr[i] = Number(arr[i]);
}

现在您将得到一个包含文本输入中所有数字(以逗号分隔)的数组

这是一种方法:

var a:String="4,4,4,4";

var valid:Boolean=true;


for(var i:int=0;i<a.length-1;i++)
{

        if(a.charAt(i)=="," && a.charAt(i)==a.charAt(i+1))
        {
            trace(a.charAt(i));
            valid=false;
        }

}

只有在这里我使用了字符串。