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

时间:2018-02-01 05:45:29

标签: javascript regex html5 regex-group

我想要一个正则表达式接受:

  1. 最少6个字符
  2. 至少一封信
  3. 至少下列之一:0123456789-.@_
  4. 我试过了:

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

1 个答案:

答案 0 :(得分:5)

你可以试试这个:

^(?=.*[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`));