javascript - Angular 6 Validators.pattern() 正则表达式不起作用

标签 javascript regex angular typescript validation

我尝试将正则表达式与 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/

相关文章:

angular - 如何在模板中键入检查 Angular Directive 输入分配类型?

javascript - 使用 javascript 刷新页面时防止提交页面

javascript - 如何根据URL改变HTML内容?

regex - 如何在redis keys命令中应用 'OR'条件

javascript - 动态切片小数点数字

angular - 如何在内部状态发生变化时触发 Angular Controller 方法?

javascript - JS/ES6 : Object to Array conversion

javascript - 灯箱不会触发 onclick

java - 如何使用 Jackson 将复杂的 Json 对象序列化为 HTTP Get 的 QueryString?

html - 将第二个全长行添加到垫表中的每个垫行