2016-04-21 8 views
-2

Мне нужно найти номер в javascript и заменить его значением, которое зависит от этого номера.Regex найти и заменить измененным содержимым

Исходная строка:

abc20.0xxxxxx30xxx 

Regex должен найти двойника, разделить его с 5 и заменить значение.

Ожидаемый результат должен выглядеть следующим образом:

abc4.0xxxxxx6.0xxx 

Действительно спасибо

+0

Не подвергайте вандализму свои сообщения. У вас есть возможность удалить свой собственный пост. – excaza

+0

где? я не хочу помощи от таких людей, как jan – Jou

+0

^^ Ну, другие люди могут помочь вам. – Bijan

ответ

-1

Вот как вы можете это сделать:

function divideByFive(s) { 
 
    return s.replace(/-?\d+(\.\d+)?/g, function (a) { 
 
     a = parseFloat(a)/5; 
 
     return a.toFixed(1); 
 
    }); 
 
} 
 

 

 
// I/O 
 

 
var inp = document.querySelector('input'); 
 
var div = document.querySelector('div'); 
 

 
inp.oninput = function() { 
 
    // Get input 
 
    var s = inp.value; 
 
    // Transform 
 
    var res = divideByFive(s); 
 
    // Output 
 
    div.textContent = res; 
 
} 
 

 
inp.oninput();
<input value="abc20.0xxxxxx30xxx"> 
 
<div></div>

Просто запустите выше фрагмент кода для см., как эта функция преобразует tex t по мере ввода.

Метод replace используется с регулярным выражением и call back function, который вызывается для каждого соответствия.

+0

отлично .. thx, очень полезно (y) – Jou

+0

Приятно слышать, что вы это цените! – trincot

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