我想允許用戶能夠在textarea中輸入ID列表,並允許用空格(如新行和逗號)分隔ID。如何從javascript/jQuery中的整數字符串獲取int []?
然後我想將其轉換成一個int []或如果字符串是壞拋出一個錯誤:含有字母,小數,等
但我有麻煩的工作吧。
任何人都可以舉例說明如何做到這一點?
我會apprecuate任何幫助。
我想允許用戶能夠在textarea中輸入ID列表,並允許用空格(如新行和逗號)分隔ID。如何從javascript/jQuery中的整數字符串獲取int []?
然後我想將其轉換成一個int []或如果字符串是壞拋出一個錯誤:含有字母,小數,等
但我有麻煩的工作吧。
任何人都可以舉例說明如何做到這一點?
我會apprecuate任何幫助。
如果您使用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.map
)here一個完整的例子。
使用'\ D'而不是'[^ \ d]'。 – James 2010-06-21 07:18:47
爲什麼你認爲\ D比[^ \ d]更好?似乎它會是一樣的...... – user169867 2010-06-21 12:32:37
我不知道'\ D','[^ \ d]'工作得很好,所以這就是我使用它的原因。 – icktoofay 2010-06-23 02:29:25
看看split函數。
你需要做的是根據你想要的分隔符分割textarea中的文本,然後遍歷數組轉換爲整數。由於split
函數只需要一個分隔符,因此您需要將輸入標準化一點,比如將換行符轉換爲空格。
字面上如您所述。讀取textarea值,按分隔符分割,轉換爲int,如果'string is bad'則拋出錯誤。你有什麼困難? – 2010-06-21 04:23:01