jquery:如何在没有空间的情况下分割数据

时间:2010-12-09 02:29:20

标签: jquery split

我有一些数据ab-cde0001。我想把它分开,它成为两部分:ab-cde0001。 我只知道如果在其中包含一些空间而将数据分开。

我该怎么做?


var barcode;
barCode=$("#model").val();
var data=barCode.split("  ");   //must change this
$("#model").val(data[0]);
$("#serial").val(data[1]);

我有另一个想法,但我不知道如何开始。

可能我只需要一些脚本读取文本后面的4位数字,然后拆分选择的一个。

6 个答案:

答案 0 :(得分:2)

有人必须提供正则表达式解决方案......

var str = 'ab-cde0001';

var matches = str.match(/^([a-z]{2}-[a-z]{3})(\d{4})$/);

matches[1]将包含第一部分,matches[2]将包含第二部分。

See it on jsFiddle

答案 1 :(得分:0)

如果您总是有6个字符和4个数字,则可以使用substring方法获取这两个部分:

var str = 'ab-cde0001';
var part1 = str.substring(0, 6),
    part2 = str.substring(6, 10);

答案 2 :(得分:0)

尝试以下方法。 s需要成为你要拆分的字符串。代码将其拆分,以便从末尾开始的所有数字都在t中,并且数字之前的所有数字都将在s中。无论多少位数。

var s = 'ab-cde0001';
var t = '';
while ('0123456789'.indexOf(s.substr(s.length-1, 1))!=-1) {
    t = s.substr(s.length-1, 1)+t;
    s = s.substr(0, s.length-1);
}

答案 3 :(得分:0)

如果您总是只想切掉最后4位数字,那就很容易了。假设你的字符串变量是s:

part1 = s.substr(0, s.length-4);
part2 = s.substr(s.length-4, 4);

答案 4 :(得分:0)

试试这段代码:

var barcode;
barCode = $("#model").val();
$("#model").val( barCode.substring(0, 6) );
$("#serial").val( str.substring(6, 4) );

答案 5 :(得分:0)

我之前已经把答案结合起来,然后我找到了真正的答案:

 var barcode;
 barCode=$("#model").val();
 var data1 = $("#model").val(barCode.substr(0,barCode.length-4));
 var data2 = $("#serial").val(barCode.substr(barCode.length-4,4));