Actionscript 3 输入文本的验证
我有“myTextarea”,所以用户可以将他们的文本放入其中,他们应该只使用“数字”和“,” 他们输入的文本必须如下所示: 2,4,6,2,67,43,…数字,逗号,数字,逗号等等 这行代码帮助我:Actionscript 3 输入文本的验证,actionscript-3,flash,apache-flex,actionscript,Actionscript 3,Flash,Apache Flex,Actionscript,我有“myTextarea”,所以用户可以将他们的文本放入其中,他们应该只使用“数字”和“,” 他们输入的文本必须如下所示: 2,4,6,2,67,43,…数字,逗号,数字,逗号等等 这行代码帮助我: levelTextarea.restrict = "0-9,"; 但问题是用户可以在一行中键入许多逗号 2,,,,3,44,5,6,5,5.... 我需要数字,逗号,数字 我将把它们的输入转换成一个数组。 是否可以验证输入文本,例如: if (myTextarea is valid) {
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;
}
}
变量a:String=“4,4,4”;
var-valid:Boolean=true;
对于(变量i:int=0;i