JQuery: как разделить данные без пробела - PullRequest
0 голосов
/ 09 декабря 2010

у меня есть данные 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 цифры за текстом, а затем разделил выбранный.

Ответы [ 6 ]

2 голосов
/ 09 декабря 2010

Кто-то должен был предоставить решение для регулярных выражений ...

var str = 'ab-cde0001';

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

matches[1] будет иметь первую часть, а matches[2] будет иметь вторую часть.

См. На jsFiddle .

0 голосов
/ 09 декабря 2010

Я уже объединил ответ, а потом нашел реальный ответ:

 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));
0 голосов
/ 09 декабря 2010

Попробуйте этот код:

var barcode;
barCode = $("#model").val();
$("#model").val( barCode.substring(0, 6) );
$("#serial").val( str.substring(6, 4) );
0 голосов
/ 09 декабря 2010

Если вы всегда просто хотите отрубить последние 4 цифры, это легко. Предполагая, что ваша строковая переменная s:

part1 = s.substr(0, s.length-4);
part2 = s.substr(s.length-4, 4);
0 голосов
/ 09 декабря 2010

Попробуйте следующее. 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);
}
0 голосов
/ 09 декабря 2010

Если у вас всегда есть 6 символов и 4 цифры, вы можете просто использовать метод substring для получения двух частей:

var str = 'ab-cde0001';
var part1 = str.substring(0, 6),
    part2 = str.substring(6, 10);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...