2010-06-21 29 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函数只需要一个分隔符,因此您需要将输入标准化一点,比如将换行符转换为空格。

相关问题