我定义了以下验证:
Validators.pattern("/^[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]$/")]]
它用于验证邮政编码,但是当我输入字符串'K1K1A1'时,验证器说它无效。
我的正则表达式出了什么问题?
答案 0 :(得分:5)
Validators.pattern()
看起来像:
if (typeof pattern === 'string') {
regexStr = `^${pattern}$`;
regex = new RegExp(regexStr);
} else {
regexStr = pattern.toString();
regex = pattern;
}
因此,只需删除斜杠和^$
字符以适应角度。
或者你也删除了引号,javascript会将你的表达式作为RegExp类型。