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

时间:2017-06-11 18:09:58

标签: regex angular typescript

我定义了以下验证:

            Validators.pattern("/^[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]$/")]]

它用于验证邮政编码,但是当我输入字符串'K1K1A1'时,验证器说它无效。

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

1 个答案:

答案 0 :(得分:5)

Validators.pattern()看起来像:

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

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