Массив по нескольким разделителям

Статус
Закрыто для дальнейших ответов.

bsi

Участник
Топикстартер
Сообщения
60
Реакции
6
Прошу помощи ! Необходимо переделать (или дайте совет как это осуществить) следующий код:

Код:
var str = rawValue;

var FIO =str.split (' ');

var a = FIO.length

switch (a) {

case 2:{

  FIO [0] = FIO [0].charAt (0).toUpperCase () + FIO [0].substr (1);

  FIO [1] = FIO [1].charAt (0).toUpperCase () + FIO [1].substr (1);

  rawValue = FIO.join (' ');

  FIO [0] = FIO [0].charAt (0) + FIO [0].substr (1);

  FIO [1] = FIO [1].charAt (0) + FIO [1].substr (1);

this.resolveNode("PervBolshie").rawValue = FIO.join (' ');

  break;

}

  case 3:{

  FIO [0] = FIO [0].charAt (0).toUpperCase () + FIO [0].substr (1);

  FIO [1] = FIO [1].charAt (0).toUpperCase () + FIO [1].substr (1);

  FIO [2] = FIO [2].charAt (0).toUpperCase () + FIO [2].substr (1);

  rawValue = FIO.join (' ');

  FIO [0] = FIO [0].charAt (0) + FIO [0].substr(1);

  FIO [1] = FIO [1].charAt (0)+ FIO [1].substr (1);

  FIO [2] = FIO [2].charAt (0)+ FIO [2].substr (1);

  this.resolveNode("PervBolshie").rawValue = FIO.join (' ');

  break;

}

  default:

  rawValue = str;

  this.resolveNode("PervBolshie").rawValue = str;

}
в результате выполнения кода - первые буквы первых трех слов становятся Заглавные. Код надо изменить так, чтобы результат был следующий: вводим петров-сикорский юсуп маратович оглы, результат выполнения кода Петров-Сикорский Юсуп Маратович оглы.

Я в программировании новичок, данный код сваять получилось, а вот дальше проблема. Думаю что проблему можно решить с помощью регулярных выражений, но с ними я практически не знаком. Прошу помощи. Всем спасибо.
 
Последнее редактирование:
  • Спасибо
Реакции: III

bsi

Участник
Топикстартер
Сообщения
60
Реакции
6
Для формы в Live Cycle Desingner это будет так:
this.rawValue=((rawValue).split(' ').map(function(a,i) { return i > 2 ? a : a.replace(/([а-яё])([а-яё]+)/gi, function (a, b, c){return b.toUpperCase()+c})}).join(' '));
Может кому сгодится.
 
  • Спасибо
Реакции: bsi
Статус
Закрыто для дальнейших ответов.