我正在尝试对Angular 6 FormBuilder使用带有Validators.pattern()的正则表达式,但是验证从未通过。我已经在https://codepen.io/devtips/pen/gzqKKP上测试了RegEx,以查看它是否被接受。
我写的表达式是/^[(0-9)]*[\s][\d]{1,5}-?[\d]{1,5}$/
,而我尝试验证的格式是(000) 000-0000
和(000) 0000-0000
,但是我的输入始终显示无效的结果。
buildAgentDetailsForm() {
this.agentDetailForm = this.fb.group({
FirstName: ['', [Validators.required, Validators.nullValidator]],
LastName: ['', [Validators.required, Validators.nullValidator]],
Email: ['', [Validators.required, Validators.email]],
Phone: [
'',
[
Validators.required,
Validators.pattern(/^[(0-9)]*[\s][\d]{1,5}-?[\d]{1,5}$/)
]
],
EmergencyPhone: ['', [Validators.required]],
Address: ['', [Validators.required]]
});
}
我的表达方式写错了吗?另外,我在输入字段上使用了一个掩码,因此它将限制输入并包括
()
和破折号 最佳答案
尝试用以下方式替换模式验证器:Validators.pattern("[(0-9)]*[\\s][\\d]{1,5}-?[\\d]{1,5}")
关于javascript - Angular 6 Validators.pattern()正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51902479/