Expressão Regular para Validação de Senha

Qualquer um pode me ajudar na criação de uma expressão regular para validação de senha.

A condição é “A senha deve conter 8 caracteres e pelo menos um número, uma letra e um caractere único, como !#$%&? "

 ^.*(?=.{8,})(?=.*[a-zA-Z])(?=.*\d)(?=.*[!#$%&? "]).*$ --- ^.* : Start (?=.{8,}) : Length (?=.*[a-zA-Z]) : Letters (?=.*\d) : Digits (?=.*[!#$%&? "]) : Special characters .*$ : End 

Tente isso

 ((?=.*\d)(?=.*[az])(?=.*[AZ])(?=.*[\W]).{6,20}) 

Descrição da expressão regular acima:

 ( # Start of group (?=.*\d) # must contains one digit from 0-9 (?=.*[az]) # must contains one lowercase characters (?=.*[\W]) # must contains at least one special character . # match anything with previous condition checking {8,20} # length at least 8 characters and maximum of 20 ) # End of group 

“/ W” aumentará o intervalo de caracteres que podem ser usados ​​para senha e pit pode ser mais seguro.

Você pode conseguir cada um dos requisitos individuais com bastante facilidade (por exemplo, mínimo de 8 caracteres:. .{8,} corresponderá a 8 ou mais caracteres).

Para combiná-los, você pode usar “lookahead positivo” para aplicar várias subexpressões ao mesmo conteúdo. Algo como (?=.*\d.*).{8,} para corresponder a um (ou mais) dígitos com lookahead e 8 ou mais caracteres.

Assim:

 (? =. * \ d. *) (? =. * [a-zA-Z]. *) (? =. * [! # \ $% & \?]. *). {8,}

Lembrando de escaping dos meta-personagens.

Senha com as seguintes condições:

  1. Pelo menos 1 dígito
  2. Pelo menos 2 caracteres especiais
  3. Pelo menos 1 caractere alfabético
  4. Sem espaço em branco

     'use strict'; (function() { var foo = '3g^g$'; console.log(/^(?=.*\d)(?=(.*\W){2})(?=.*[a-zA-Z])(?!.*\s).{1,15}$/.test(foo)); /** * (?=.*\d) should contain at least 1 digit * (?=(.*\W){2}) should contain at least 2 special characters * (?=.*[a-zA-Z]) should contain at least 1 alphabetic character * (?!.*\s) should not contain any blank space */ })(); 

Você pode criar sua própria expressão regular para validações de javascript ;

  (/^ (?=.*\d) //should contain at least one digit (?=.*[az]) //should contain at least one lower case (?=.*[AZ]) //should contain at least one upper case [a-zA-Z0-9]{8,} //should contain at least 8 from the mentioned characters $/) 

Exemplo: – /^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/