2016-04-20 3 views
0

I может иметь следующие строки типаКак увеличить только цифры строки?

A1 или 1 или AB .... 1 или 1ab ......

так как приращение только цифры выше типа строк в JavaScript?

var adminNo = data.Admission_No.slice(-2); 
       alert(adminNo); 
       var removedNo = data.Admission_No.substring(data.Admission_No.length-1); 
       alert(removedNo); 
+0

Что ожидаемый результат для 'A001'? Для 'A999'? – georg

+0

для A001 = A002 и для A999 = A1000 –

+0

@georg есть ответ на комментарий выше? –

ответ

4

Используйте метод замены, как показано на демонстрации ниже

function incrementer(input) 
 
    { 
 
     return input.replace(/\d+/, function(match){ return parseInt(match) + 1 }); 
 
    } 
 

 
    alert(incrementer("A1")); 
 
    alert(incrementer("1A"));

Это будет найти целое число в любом месте входной строки и увеличивать его на единицу.

3
string.replace(/\d+/, function(n){ return ++n }); 
+0

с A01 не работает ... означает получить только A2 ..не получать A02 –

+0

Becase 01 + 1 = 2 not 02 ... это стандартный. Было бы более продвинутой функцией поддержки zerofill ... –

+0

для 07k71a0507 приращения 8k71a0507, где мне нужно увеличиваться, как 07k71a0508 –

0

Вы можете сделать это, беря целое число от вашей строки Его большой длинный, но более самостоятельной explainatory

var youroriginalstring="A1" 
var withNoDigits = youroriginalstring.replace(/[0-9]/g, ''); 
var yournumber = youroriginalstring.replace (/[^\d.]/g, ''); 
var incNos=yournumber +1; 
var newString = incnos + "withNoDigits" 
Смежные вопросы