正则表达式接受最少 6 个字符,至少一个字母和至少以下之一:0123456789-.@_

Regex to accept Min 6 characters, at least one letter and at least one of the following: 0123456789-.@_

我希望单个正则表达式接受:

  1. 最少 6 个字符
  2. 至少一个字母
  3. 以下至少一项:0123456789-.@_

我试过了:

 ^(?=.*[A-Za-z])(?=.*\d)(?=.*[._@-])[A-Za-z\d._@-]{1,40}$ 

你可以试试这个:

^(?=.*[a-zA-Z])(?=.*[\d.@_-]).{6,}$

Regex Demo 1

或者,如果您不想要任何字符,而只想将提到的字符组成整个字符串,那么您也可以尝试以下操作:

^(?=.*[a-zA-Z])(?=.*[\d.@_-])[a-zA-Z\d.@_-]{6,40}$

Regex Demo 2

演示 1 的示例源:

const regex = /^(?=.*[a-zA-Z])(?=.*[\d.@_-]).{6,}$/g;
console.log(regex.test(`0a123456789-.@_`));
console.log(regex.test(`abcdefghijklmn`));
console.log(regex.test(`0a123456789`));
console.log(regex.test(`0a12`));