Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   простенькая функция для парсинга ID (https://javascript.ru/forum/misc/26046-prostenkaya-funkciya-dlya-parsinga-id.html)

Yurik 23.02.2012 17:46

простенькая функция для парсинга ID
 
инак задачка:
есть ID (12 цыфер)
нужно при вводе в input автоматом приплюсовывать после каждой пары цыфр дефис, т.е. в поле ввода должно получиться что-то вроде 11-11-11-11-11-11, но с постом отправиться должен ID без дефисов

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

в голову пришло только пройти циклом по значению ID
id='111111111111';
    new_id='';
    for(i=0;i<id.length;i=i+2)
      {
      
      s1=id.substring(i,2);
      s2=id.substring(i+2);
      if (s2)
        new_id+=s1+'-'+s2;
      else
        new_id+=s1;
      }
alert(new_id);


но какой-то бред получается

рони 23.02.2012 18:37

Yurik,
Вуариант
var id='111111111111';
id = id.replace(/(\d{2})(?=\d)/g,"$1-")
alert(id)

nerv_ 23.02.2012 21:18

еще вариант

var x = '111111111111';

alert( x.replace( /(?!^)(?=(?:\d\d)+$)/g, "-" ) );

Mахmaxmaximus 23.02.2012 21:23

а у меня самый крутой вариант

var x = '111111111111';
alert(x.replace(       /(\d\d)(?=\d)/g         , "$1-"));

Yurik 23.02.2012 22:37

спасибо, то что нужно

использовал первый вариант регулярки, но спасибо всем за варианты


Часовой пояс GMT +3, время: 19:38.