首页 > 解决方案 > 如何在angular6中为卡片类型编写开关条件

问题描述

我正在做有角度的项目。我已经写了支付类型的条件,我需要在 angular6 的 switch case 条件下写。任何帮助请!我的代码在这里

myFunc(number){
 number=this.myModel.bank.value

 // visa
 var re = new RegExp("^4");
 if (number.match(re) != null){
  this.myModel.paymentType.value="Visa";
 }

 //Master Card

  var re=new RegExp("^5[1-5][0-9]{0,14}|^(222[1-9]|2[3-6]\\d{2}|27[0-1]\\d|2720)[0-9]{0,12}");
  if (number.match(re) != null){
    this.myModel.paymentType.value="Master Card";
  }

 // AMEX
 re = new RegExp("^3[47]");
 if (number.match(re) != null){
  this.myModel.paymentType.value="AMEX";
 }


 // Discover
 re = new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)");
 if (number.match(re) != null){
  this.myModel.paymentType.value="Discover";

 }

   //Switch card
    re = new RegExp("^(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9]{14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0-9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}$");
    if (number.match(re) != null){
     this.myModel.paymentType.value="Switch Card";

    }

 return "";

    }

标签: angular

解决方案


如果您要在 components.ts 文件或模板文件中添加一个简单的 switch case,则尚不清楚,以防您引用模板:

<ng-container [ngSwitch]="true">
  <ng-container *ngSwitchCase="myModel.paymentType.value === 'Master Card'">

  </ng-container>
  <ng-container *ngSwitchCase="myModel.paymentType.value === 'Visa'">

  </ng-container>
  <ng-container *ngSwitchDefault>

  </ng-container>
</ng-container>

推荐阅读