Angular 2 Reactive Forms'模式'验证器不起作用

Zeu*_*s82 0 regex typescript angular

我已经定义了以下验证:

            Validators.pattern("/^[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]$/")]]
Run Code Online (Sandbox Code Playgroud)

它用于验证邮政编码,但当我输入字符串'K1K1A1'时,验证器表示其无效.

我的正则表达式出了什么问题?

Ser*_*nho 6

Validators.pattern() 好像:

if (typeof pattern === 'string') {
  regexStr = `^${pattern}$`;
  regex = new RegExp(regexStr);
} else {
  regexStr = pattern.toString();
  regex = pattern;
}
Run Code Online (Sandbox Code Playgroud)

因此,只需删除斜杠和^$字符以适应角度.或者您也删除了引号,javascript会将您的表达式作为RegExp类型.