小さなスクリプトを使用して、碑文フォームでパスワードの強度を確認しています。スクリプトの関連部分は次のとおりです。
$('#password').keyup(function(){
var password = $(this).val();
password = $.trim(password);
var lettre_min = /[a-z]/;
var lettre_maj =/[A-Z]/;
var nombre = /[0-9]/;
var symbole = /[\`\!\"\?\$\%\^\&\*\(\)\_\-\+\=\{\[\}\]\:\;\@\'\~\#\|\\\<\,\>\.\/]/;
if(password.length != 0)
{
//password moin de 8 caractères
if(password.length <8)
{
$('.bar').animate({width:'50px',height:'5px'},200).show();
$('.bar').css('background-color','red');
$('.error').text('Too short').show();
}else
//password faible
if((password.match(lettre_min)) && password.length <12)
{
$('.bar').animate({width:'75px',height:'5px'},200).show();
$('.bar').css('background-color','red');
$('.error').text('Weak').show();
}else
//password moyen
//1 type
if((password.match(lettre_min)) && (password.match(nombre)) && password.length <12)
{
$('.bar').animate({width:'100px',height:'5px'},200).show();
$('.bar').css('background-color','orange');
$('.error').text('Average').show();
}else ...
問題は、フォーム入力に文字 (lettre_min) と数字 (nombre) を入力すると、パスワードが平均的であると言わなければならないのに、パスワードが弱いと教えてくれることです。彼は 2 番目の条件を完全に無視します。
何が起こっているのかわかりません=/
PS:別の質問でこれに対する回答が既にある場合は申し訳ありませんが、問題が何であるかさえわからないため、何を検索すればよいかわかりません =/