Попробуйте использовать [A-Z]{2}[0-9]{2}
регулярное выражение.
Ошибка в вашем регулярном выражении была {0,2}
совпадения квантификатора для 0 - 2 элементов в предоставленной кодировке. Вместо этого используйте {2}
. Это подтвердит, что нужно проверять ровно 2 подсчета кодировки.
Я предлагаю использовать функцию mockFunction для обновления вашего ввода до требуемого стандарта, такого как отображение HI as HI00
, AA as AA00
, Aa as Aa00
и т. Д., И тестирование. эта высмеянная строка. Это образец для того же.
console.log('R -- ', mockInput('R'));
console.log('RD --', mockInput('RD'));
console.log('RD0 -- ', mockInput('RD0'));
console.log('RD01 -- ', mockInput('RD01'));
console.log('01 -- ', mockInput('01'));
console.log('R01 -- ', mockInput('R01'));
console.log('RD011 -- ', mockInput('RD011'));
function mockInput(input) {
const returnStr = "AA00";
const fakeInput = input.length >= 4? input: input + returnStr.substring(input.length, 4);
const re = RegExp(/[A-Z]{2}[0-9]{2}/);
let status = false;
if (re.test(fakeInput)) {
status = true;
}
return status;
};