输入文本的验证
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;
}
}
只有在这里我使用了字符串。
我有 '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;
}
}
只有在这里我使用了字符串。