angular - 如何在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 "";
}
解决方案
如果您要在 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>