2014-03-18 30 views
0

我正在從用戶使用文本框取整數組的元素。所以文本框應該只允許數字數據和逗號。使用文本框獲取數組的元素(JS驗證)

類似5,12,4,53,3,0,1是可以接受的。

我乾脆禁止所有按鍵除了commanumeric,並backspace

function ControlForArray() { 
       if ((event.keyCode >= 48 && event.keyCode <= 57) || 
        event.keyCode == 44 || 
        event.keyCode == 8) 
       { 
        event.returnValue = true; 
        return true; 
       } 
       else { 
        event.returnValue = false; 
        return false; 
       } 
      } 

的一點是,我還需要防止進入多個逗號此起彼伏。並且上一個值應該是數字(當文本框沒有重點或提交按鈕被點擊時)。

在這種情況下:5,3,,45,3,4,也不應該被允許。

我該如何用js或jquery做到這一點。感謝幫助。

+0

最後一個值應該是數字嗎?當用戶插入逗號時,最後的值變成逗號。所以何時添加值結束?你需要更具體。 順便說一句,你嘗試了什麼嗎? –

+0

@TilwinJoy感謝您的回覆,它可以刪除最後一個逗號時提交按鈕點擊或不重點從文本框? – samet

回答

0

,最後的值應該是一個數的要求是一種棘手這裏這麼我決定建議採用兩步法:

var re = /[0-9]{1,2},?/g; 
var str = "5,12,4,53,3,0,1"; 
var myArray = str.match(re); 
console.log(myArray); 
typeof(parseInt(myArray[myArray.length-1])) === "number" // you can use an if statement here