2012-06-19 3 views
7
mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862" 

Я хочу получить первые 4 числа в этой строке «9862». Как получить первую последовательность чисел в этой строке. И хранить его в переменном состоянии?Javascript: Как получить первые 4 числа в строке?

Javascript, похоже, не распознает эту переменную. Я не знаю почему. если я:

alert(mystring); //I don't get an alert pop up nor does it show any errors. 

Может ли что-то неправильно с текстом я пытаюсь сохранить в «MyString» переменной?

+0

использовать регулярное выражение – Quincy

+0

Да, получая числа с регулярным выражением с начала mystring.match (/^[0-9] + /), вы уверены, что позиция номера не изменяется? –

ответ

10
mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862"; 

mystring = mystring.substring(0, 4); 

alert(mystring.trim()); 
+0

Спасибо, но если есть только 3 номера. Я говорю, что 9862 распространен, но иногда я получаю, например, «956» трехзначное число, подстрока занимает пробел, оставшийся после номера. Как получить только номер? Как mystring.subinteger для получения чисел только и не включать пробелы после, как с методом подстроки? –

+0

'mystring = mystring.trim()' удалит пробел вокруг вашей строки –

+0

см. Мой отредактированный ответ –

0

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

mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862"; 
var str=mystring.substr(0,4); 
alert(str); 
0

Вы можете использовать, чтобы работать, чтобы получить первый 4 знака

mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862" 

mystring = mystring.substr(0,4); 

или

mystring = mystring.substring(0,4); 

как будет работать нормально ... попробуйте его

1
var extractInts = function(str) { 
    r = []; 
    for (var i = 1, l = str.length; i <= l; ++i) { 
     if (!isNaN(parseInt(str.substring(i-1, i),0))) { 
      str = str.substring(i-1); 
      r.push(parseInt(str, 0)); 
      str = str.substring(parseInt(str,0).toString().length); 
      i = 1; 
     } 
    } 
    return r; 
}; 

var str = "Hi, here is an int 1, and another 3, and finally 37"; 
var i_array = extractInts(str); 
console.log("extractInts: " + i_array[0]); //Prints 1 

выше функция будет извлекать все целое число в массив, и, следовательно, вы можете просто извлечь первый.

Смежные вопросы