我尝试将正则表达式与 Angular 6 FormBuilder 的 Validators.pattern() 一起使用,但验证从未通过。我已经在 https://codepen.io/devtips/pen/gzqKKP 上测试了正则表达式看看它是否被接受,并且确实被接受了。
我写的表达式是/^[(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/