我有一些数据ab-cde0001
。我想把它分开,它成为两部分:ab-cde
和0001
。
我只知道如果在其中包含一些空间而将数据分开。
我该怎么做?
var barcode;
barCode=$("#model").val();
var data=barCode.split(" "); //must change this
$("#model").val(data[0]);
$("#serial").val(data[1]);
我有另一个想法,但我不知道如何开始。
可能我只需要一些脚本读取文本后面的4位数字,然后拆分选择的一个。
答案 0 :(得分:2)
有人必须提供正则表达式解决方案......
var str = 'ab-cde0001';
var matches = str.match(/^([a-z]{2}-[a-z]{3})(\d{4})$/);
matches[1]
将包含第一部分,matches[2]
将包含第二部分。
答案 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));