Найти конкретную строку с помощью jquery

0

Я использую "change" -function, чтобы поместить значение selectbox во вход

$("#afa_select").change(function() {
    var nd_value = $('#afa_select :selected').text();
    $("#nd_hidden").val(nd_value);
});

Параметры selectbox содержат следующие строки:

text 10 Jahre
another text 6 Jahre
just another text 12 Jahre
another text with a figure e.g. 1000 6 Jahre
another text with a figure e.g. 3234 6 Jahre

Мне нужно найти номер перед строкой "Jahre" и поместить это значение во вход #nd_hidden.

  • 0
    всегда ли позиция «Jahre» одинакова?
  • 1
    Это не JQuery, а JavaScript. Что вы пробовали? Где вы застряли?
Показать ещё 2 комментария
Теги:

2 ответа

5
Лучший ответ

Это тривиально с регулярным выражением:

var text = "another text with a figure e.g. 1000 6 Jahre";
var result = /(\d+) +Jahre/.exec(text);
if (result) {
    console.log(result[1]); // "6"
}

Если вам это нужно как номер:

var num = parseInt(result[1], 10);

В регулярном выражении говорится: "Найдите первое совпадение в строке, в которой цифры, за которыми следуют одно или несколько пробелов, за которыми следуют символы Jahre и записывают цифры в группе захвата". result будет null если совпадение не найдено. Если совпадение найдено, содержимое первой группы захвата находится в result[1].

2

вы также можете разбить строку на пробел и получить позицию n-2, если вы не хотите использовать регулярные выражения.

var selectNumber = nd_value.split(" "); 
var yourNumber = selectNumber[selectNumber.length-2]; 

console.log(yourNumber); 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню