Сепаратор угловой - PullRequest
       2

Сепаратор угловой

0 голосов
/ 21 мая 2018

Мне нужно реализовать разделитель тысяч для входа в приложение Ionic.Мне нужно добиться этого, когда пользователь их набирает.Я пришел со следующей реализацией:

В файле Ts:

 public amount:string;   // model

  format(){  

  this.amount=this.separator(this.amount)

  }

   separator(amount)
  {
    var num_parts = amount.split(".");
    num_parts[0] = num_parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    return num_parts.join(".");
  }

В HTML:

 <ion-input [(ngModel)]="amount" (keyup)="format()"  placeholder="Text Input"></ion-input>

Работает нормально, пока число цифр не останется 4 (в числовой части). Плохо, когда у меня больше 4 цифр.Так как он вызывается для 'keyup' во втором проходе, он добавляет еще один ',' после второй цифры, например:

1,2,345

И это продолжается: 1,2,3,455

Как я могу реализовать это правильно, то есть добавив разделитель тысяч по мере их ввода пользователем.Спасибо за внимание к этому.

1 Ответ

0 голосов
/ 21 мая 2018

В моей реализации возникла проблема: я не удалял ранее добавленную запятую.Смотрите комментарий в следующем фрагменте

  separator(amount)
  {
    var num_parts = amount.split(".");
   num_parts[0]= num_parts[0].replace(/,/g , ""); // I was not removing previously added comma 
    num_parts[0] = num_parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    return num_parts.join(".");
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...