2016-02-29 97 views
0

我正在嘗試創建一個登錄表單,它將檢查密碼強度並更改條的屬性。現在我試圖簡單地檢查密碼輸入是否包含單個字母。keyUp上的搜索輸入

HTML:

<input type="password" id="pass" name="password" placeholder="Password" required><br><br> 
<div id="strength"> 
    <div id="bar"></div> 
</div> 

JS:

$("#pass").keyUp(function(){ 
    var pass = $("#pass"); 
    if(pass.val().indexOf("a") >= 0){ 
     $("#bar").css("width","70%"); 
    } 
}); 

當我輸入 'A' 在輸入框中它不會改變,雖然在CSS。有人可以解釋如何做到這一點? 在此先感謝

回答

-1

試試這個,我希望這是你的答案

$("#pass").on("keyup", function(){ 
    var $pass = $("#pass"); 
    if($pass.val().indexOf("a") != 0){ 
     document.getElementById('bar').style.width = 'y0%'; 
    } 
}); 
+0

這與OP的做法有什麼不同?也indexOf(「a」)!= -1不是0. – noahnu

+0

@noahnu對不起,我改變了答案。檢查它 – Shayan

+0

我hnestly不知道,但它的工作。我只是用「> =」取代了「!=」,因爲我希望它在不是時候被執行,當它不是 –

1

你在你的函數調用keyUp大寫U。它應該全部小寫。

$("#pass").keyup(function(){ 
 
    var pass = $("#pass"); 
 
    if(pass.val().indexOf("a") >= 0){ 
 
     $("#bar").css("width","70%"); 
 
    } 
 
});
#strength {width: 100%;} 
 
#bar {height: 1em; background: red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="password" id="pass" name="password" placeholder="Password" required><br><br> 
 
<div id="strength"> 
 
    <div id="bar"></div> 
 
</div>

+0

哦....哇....我的錯。非常感謝 –

+0

我如何做同樣的事情,但對於一系列的投入?例如,來自a-z和A-Z的所有字符? –

+0

使用[正則表達式](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)。查看@itsgoingdown的答案http://stackoverflow.com/a/35708433/1028949 – Quantastical

2

剛纔看你的情況,這裏的docs您的原始代碼 「使用keyUp」,它失敗了,在這裏我改成了 「KEYUP」

$("#pass").keyup(function(){ 
    var pass = $("#pass"); 
    if(pass.val().indexOf("a") >= 0){ 
     $("#bar").css("width","70%"); 
    } 
}); 

這裏有一個fiddle link

0
$("#pass").on("keyup", function(){ 
     var $pass = $("#pass"); 
     if($pass.val().indexOf("a") > -1){ 
     $("bar").css("width","70%"); 
     } 
    });