我想允许用户能够在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