验证输入文本

时间:2015-07-13 20:36:59

标签: actionscript-3 flash flex actionscript

我有'myTextarea',因此用户可以将文字放入其中,并且只能使用“数字”和“,”。

他们输入的文字必须是这样的:     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");
}

2 个答案:

答案 0 :(得分:1)

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

//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]);
}

当然,如果您只想在一天结束时获得一系列数字,那么您可以这样做:

{{1}}

现在你有一个包含文本输入的所有数字(用逗号分隔)的数组

答案 1 :(得分:0)

这是一种方法:

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;
        }

}

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