需要一个正则表达式来检查字符串

时间:2018-05-24 03:22:56

标签: javascript c# regex validation

我需要你的帮助来编写一个正则表达式来验证一个符合下面规则的字符串。

“2个字母和4个数字。它可以是一个混合字符串”

例如:11a1a1或1a11a1..etc

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

试试这样:

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

由于问题没有说明这样的字符串可以有多长,只要满足基本规则,就可以接受任何长度。

Demo



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}`);
    });
}