/ / Jak sprawdzić, czy ciąg zawiera co najmniej jedną cyfrę, literę i znak, który nie jest ani liczbą, ani literą? - javascript, regex, string, numbers, letter

Jak sprawdzić, czy ciąg zawiera co najmniej jedną liczbę, literę i znak, który nie jest ani cyfrą ani literą? - javascript, regex, string, numbers, letter

Językiem jest javascript.

Ciągi, które przejdą:

JavaScript1 *

Pu54 325

() 9c

Ciągi, które nie przejdą:

654fff

% ^ (dFE

Próbowałem następujące:

var matches = password.match(/d+/g);
if(matches != null)
{
//password contains a number
//check to see if string contains a letter
if(password.match(/[a-z]/i))
{
//string contains a letter and a number
}
}

Odpowiedzi:

2 dla odpowiedzi № 1

Możesz użyć Regex:

Wziąłem to stąd: Ponownie wyszukaj hasło

var checkPassword = function(password){
return !!password.match(/^(?=.*[A-Za-z])(?=.*d)(?=.*[$@$!%* #+=()^?&])[A-Za-zd$@$!%* #+=()^?&]{3,}$/);
};

Korzystam z tego Regex:

Minimum 3 znaki co najmniej 1 alfabet, 1 cyfra i 1 znak specjalny:

"^(?=.*[A-Za-z])(?=.*d)(?=.*[$@$!%* #=+()^?&])[A-Za-zd$@$!%* #=+()^?&]{3,}$"

Ten regex wymusi następujące reguły:

Co najmniej jedna angielska litera, (? =. *? [A-Za-z])

Co najmniej jedna cyfra (? =. * D)

Co najmniej jeden znak specjalny (? =.[$ @ $!% # + = () ^? &]) Dodaj więcej, jeśli chcesz ...

Minimalna długość 3 znaków (? =.[$ @ $!% #? &]) [A-Za-zd $ @ $!% * # + = () ^? &] {3,} zawierają spacje

Jeśli chcesz dodać więcej znaków specjalnych, możesz dodać go do Regeksu, tak jak dodałem „(” (musisz dodać w dwóch miejscach).

A dla tych z was, którzy zadają sobie pytanie, jakie są te dwa wykrzykniki, oto odpowiedź: Co to jest !! (nie) operator w JavaScript?