2010-06-21 30 views
1

我想允許用戶能夠在textarea中輸入ID列表,並允許用空格(如新行和逗號)分隔ID。如何從javascript/jQuery中的整數字符串獲取int []?

然後我想將其轉換成一個int []或如果字符串是壞拋出一個錯誤:含有字母,小數,等

但我有麻煩的工作吧。

任何人都可以舉例說明如何做到這一點?

我會apprecuate任何幫助。

+1

字面上如您所述。讀取textarea值,按分隔符分割,轉換爲int,如果'string is bad'則拋出錯誤。你有什麼困難? – 2010-06-21 04:23:01

回答

5

如果您使用split method,您可以傳遞一個正則表達式來拆分。例如:

var myArray=myString.split(/[^\d]+/); 

這將返回一個字符串數組,每個字符串都包含一個整數的字符串表示形式。此外,還可以再使用parseInt function那些字符串表示解析爲整數,像這樣:

var myIntArray=[]; 
for(var i=0;i<myStringArray.length;i++) { 
    myIntArray.push(parseInt(myStringArray[i], 10)); 
} 

你可以看到一些jQuery的幫手(特別是jQuery.maphere一個完整的例子。

+0

使用'\ D'而不是'[^ \ d]'。 – James 2010-06-21 07:18:47

+0

爲什麼你認爲\ D比[^ \ d]更好?似乎它會是一樣的...... – user169867 2010-06-21 12:32:37

+0

我不知道'\ D','[^ \ d]'工作得很好,所以這就是我使用它的原因。 – icktoofay 2010-06-23 02:29:25

1

看看split函數。

你需要做的是根據你想要的分隔符分割textarea中的文本,然後遍歷數組轉換爲整數。由於split函數只需要一個分隔符,因此您需要將輸入標準化一點,比如將換行符轉換爲空格。

相關問題