我正在尝试将正则表达式与 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}")