Hej.
Napisałem kod sprawdzający hasło i prosiłbym Was o wskazówki jak ten kod zoptymalizować, bo te if else if dziwnie wygląda, wiec pewnie można to zrobić jakoś łatwiej :D
<script>
$(document).ready(function() {
$('#password').blur(function() {
var passwordInputValue = $('#password').val();
var errorSpan = $('.error');
var minLength = /.{8}/
var oneLetterRegExp = /[a-z]+/
var oneBigLetterRegExp = /[A-Z]+/
var oneDigitRegExp = /[0-9]+/
var oneSpecialSign = /.[^0-9a-zA-Z]/
if (passwordInputValue.search(minLength) == -1) {
errorSpan.text('Hasło powinno mieć co najmniej 8 znaków')
} else if (passwordInputValue.search(oneLetterRegExp) == -1) {
errorSpan.text('Hasło powinno mieć co najmniej jedną małą literę')
} else if (passwordInputValue.search(oneBigLetterRegExp) == -1) {
errorSpan.text('Hasło powinno mieć co najmniej jedną dużą literę')
} else if (passwordInputValue.search(oneDigitRegExp) == -1 ) {
errorSpan.text('Hasło powinno mieć co najmniej jedną cyfrę')
} else if (passwordInputValue.search(oneSpecialSign) == -1) {
errorSpan.text('Hasło powinno mieć minimum jeden znak specialny.')
} else {
errorSpan.text('Hasło przeszło walidację.')
}
})
})
</script>
</head>
<body>
<span class="error"></span><br>
Podaj hasło: <input type="text" id="password"><br>
</body>
Aha i czy jest sens trzymać te regexy w zmiennych, czy lepiej wrzucić po prostu do search() ?