JavaScript正则表达式函数未按预期工作

JavaScript正则表达式函数未按预期工作,javascript,regex,Javascript,Regex,此正则表达式未按预期工作。请建议其他方法在javascript中验证此正则表达式 var patt = new RegExp('^(PK\d{2}[A-Z]{4}\d{16})|(\d{9,20})$'); patt.test('PK12FKIE1234567890123456'); 您需要将这两种模式放在一个组中,以便锚定应同时应用于这两种模式 var patt = /^(?:(PK\d{2}[A-Z]{4}\d{16})|(\d{9,20}))$/; PK12FKIE1234567890

此正则表达式未按预期工作。请建议其他方法在javascript中验证此正则表达式

var patt = new RegExp('^(PK\d{2}[A-Z]{4}\d{16})|(\d{9,20})$');
patt.test('PK12FKIE1234567890123456');

您需要将这两种模式放在一个组中,以便锚定应同时应用于这两种模式

var patt = /^(?:(PK\d{2}[A-Z]{4}\d{16})|(\d{9,20}))$/;

PK12FKIE12345678900123456或123456789这对PK12FKIE12345678900123456不起作用真的吗?谢谢,它起作用了