2012-06-08 1 views
2

Может ли кто-нибудь сказать мне, как реализовать, возможно, раскол? Чтобы удалить запятые из пользовательских текстовых номеров перед запуском некоторых операторов if. Я знаю, что могу ограничивать запятые, но я бы хотел, чтобы люди могли использовать запятые при вменении значений. Благодаря!Удалить запятые от ввода текста в as3

value_enter.addEventListener(MouseEvent.CLICK, release1); 
function release1(evt:MouseEvent):void 
{ 
if (Number(inputfield.text) >0 && Number(inputfield.text) <2600) 
{ 
gotoAndStop(2); 
} 
else if (Number(inputfield.text) >2599 && Number(inputfield.text) <4200) 
{ 
gotoAndStop(3); 
} 

ответ

3

Попробуйте это:

value_enter.addEventListener(MouseEvent.CLICK, release1); 
function release1(evt:MouseEvent):void 
{ 
    var strNum:String = String(inputfield.text).replace(/,/g, ""); 
    var num:Number = Number(strNum); 

    if (num > 0 && num <2600) 
    { 
     gotoAndStop(2); 
    } 
    else if (num >2599 && num <4200) 
    { 
     gotoAndStop(3); 
    } 
} 
+0

Страх, право снова. Спасибо за помощь! – STEK

+0

Возможно, лучше использовать '/ [^ 0-9]/g', так как не все используют запятые в качестве разделителя тысяч. – CheeseWarlock

3

Просто используйте replace() функцию:

inputfield.text = inputfield.text.replace(",", ""); 
+0

Прекрасное спасибо. – STEK

0

Если вы хотите удалить все экземпляры вы можете сделать раскол, как вы думали:

, если ваш inputfield.text = "123,456,789";

затем:

var inputNoCommas:String = inputfield.text.split(",").join(""); 

должен возвращать ` "123456789";

Как я помню, String.replace() заменяет только первый экземпляр, который, если это все, что вы хотите, тогда вы можете пойти по этому маршруту.

+0

ahh да Мне нужны все экземпляры. Благодарю. – STEK

Смежные вопросы