Нужно регулярное выражение для проверки "2 алфавита и 4 цифры" только в строке - PullRequest
0 голосов
/ 24 мая 2018

Мне нужна ваша помощь, чтобы написать регулярное выражение для проверки строки, которая должна следовать приведенному ниже правилу.

"2 Алфавит и 4 Числа. И это может быть смешанная строка"

Например:11a1a1 или 1a11a1..etc

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 24 мая 2018

Попробуйте это так:

^(?=.*\d.*?\d.*?\d.*?\d)(?=.*[a-zA-Z].*?[a-zA-Z]).+$

Поскольку в вопросе не указано, какой длины может быть такая строка, любая длина принимается, пока выполняется основное правило.

Демо

const regex = /^(?=.*\d.*?\d.*?\d.*?\d)(?=.*[a-zA-Z].*?[a-zA-Z]).+$/gm;
const str = `aa1111
b1b111
1111aa
11a1a1
1a11a1

aaaa11
bbb111
b1b1b1
b11b1b`;
let m;

while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match) => {
        console.log(`Found match: ${match}`);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...