2014-05-03 26 views
0

所以我試圖檢查一個變量中的字符串是否包含數字。檢查輸入是否是數字或其他東西

這是我用走了過來變量的代碼:

function checkIfOk(pass){ 
    for (var i=0; i<pass.length; i++) { 
     if(/[0-9]/.test(pass)){ 
      console.log("Number: "+pass[i]); 
     }else{ 
      console.log("Letter: "+pass[i]); 
     } 
    } 
} 

此代碼是由該調用:

$(document).ready(function() { 
    $(".PWD1").on("keypress keyup", function() { 
     var pass = $(this).val(); 
     $("#check").text(checkIfOk(pass)); 
    }); 
}); 

因此,它讀取密碼字段的字符串,然後越過該字符串中的每個元素都帶有一個for循環。它將檢查IF語句,如果pass [i]是一個0-9的數字,如果它打印到控制檯Number:x。

但由於某些原因,else語句只在我的字符串中沒有數字時才起作用,當插入數字時,for循環將接受所有元素作爲數字並忽略其他語句。 這是爲什麼?

+1

你的正則表達式測試整個字符串,每次,不是你想要的單個字符被看。 – Pointy

+0

多麼愚蠢的我,謝謝你的幫助! – Veske

回答

2

試試這個代碼,

function checkIfOk(pass){ 
    var status = ""; 
for (var i=0; i<pass.length; i++) { 
    status = isNan(pass[i]); 
    if(status==false){ 
     console.log("Number: "+pass[i]); 
    }else{ 
     console.log("Letter: "+pass[i]); 
    } 
} 
} 
+0

得到它的工作,已通過整個字符串檢查.. – Veske

+0

是的,這是更好的。 –