Javascript 如何编写没有特定顺序的正则表达式?

Javascript 如何编写没有特定顺序的正则表达式?,javascript,regex,Javascript,Regex,我必须对字符串进行javascript检查。 字符串必须有6个字母和2个数字,但不一定按顺序排列,也必须有2个数字和6个字母 当时我有: /^[A-Za-z]{6,}[0-9]{2,}$/; 非常感谢 使用|管道为您的正则表达式提供两种选择: /^[a-z]{6}\d\d$|^\d\d[a-z]{6}$/i 你可以试试这里:这是我想的答案,我花了一些时间发布 /^[a-zA-Z]{6}[\d]{2}|[\d]{2}[a-zA-Z]{6}$ 干杯 假设您的问题是如何检查至少包含2个数字和6个

我必须对字符串进行javascript检查。 字符串必须有6个字母和2个数字,但不一定按顺序排列,也必须有2个数字和6个字母

当时我有:

/^[A-Za-z]{6,}[0-9]{2,}$/;

非常感谢

使用
|
管道为您的正则表达式提供两种选择:

/^[a-z]{6}\d\d$|^\d\d[a-z]{6}$/i

你可以试试这里:

这是我想的答案,我花了一些时间发布

/^[a-zA-Z]{6}[\d]{2}|[\d]{2}[a-zA-Z]{6}$

干杯

假设您的问题是如何检查至少包含2个数字和6个字母的字母和数字的混合集合,我个人会这样做:

^(?=(.*[0-9]){2})(?=(.*[A-Za-z]){6})[A-Za-z0-9]{8}$
var str = "abc12def";
var digits = str.match(/\d/g).length;
var ok = /^[A-Za-z0-9]{8,}$/.test(str)
         && digits >=2 && str.length-digits>=6;

可以混合吗?这些数字必须在一起吗?你为什么不接受任何答案?你对费德里科的一个问题有意见吗?这只涉及了一小部分可能性,或者我不理解这个问题。@dystroy-我要求OP在上面澄清。将在需要时更新。从这个问题来看,这似乎是他们想要的:“字符串必须有6个字母和2个数字,但不一定是按顺序排列的,也必须有2个数字和6个字母”。欢迎来到SO!请考虑对您的答案添加解释。请注意,这个(好)一个与OP的问题相反,它不接受超过8个字符,但它可以通过只改变最后一个量词来固定。您也可以使用<代码> AZ/<代码>使用<代码> /i>代码>修改器而不是<代码> [AZ-Z]。也将匹配
1234
abcdefghijkl
var str = "abc12def";
var digits = str.match(/\d/g).length;
var ok = /^[A-Za-z0-9]{8,}$/.test(str)
         && digits >=2 && str.length-digits>=6;