我有一个组件,需要根据用户输入的参数设置掩码,并且如果它通过cpf的11位数字,则该字段将具有cnpj的掩码。下面是代码片段: 我正在使用ngx-mask;
<input type="text" class="form-control form-control-sm" formControlName="cpf_cnpj" [mask]="mask" (keyup)="cpfcnpjmask($event)">
cpfcnpjmask() {
const value = this.dadosBancariosForm.get('cpf_cnpj').value;
console.log(value, value.length,this.dadosBancariosForm)
if(value.length <= 14) {
this.mask = '00.000.000/0000-00'
}
else {
this.mask = '00.000.0000-00'
}
}
在此代码中,它仅需咀嚼一次,绝不会落入第二个咀嚼。有人会解决这种僵局,也可能会达到目标。 感激。
答案 0 :(得分:0)
你的条件是相反的,改变 if block by else 并尝试使用 9s...
private void button1_Click(object sender, EventArgs e)
{
var values = new List<string>(textBox2.Text.Split(','))
.Select(x => x.Trim()).ToList();
textBox1.Lines = values.ToArray(); // optional
var PositiveList = values.Where(x => x.StartsWith("+")).ToList();
var NegativeList = values.Where(x => x.StartsWith("-")).ToList();
listBox1.DataSource = NegativeList;
listBox2.DataSource = PositiveList;
}
static MASCARA_CPF = "999.999.999-99";