Телефон нөміріндегі Hightlight нөмірлері

Бұл функция hightlight нөмірлері.

var hightlightPhoneNumbers = function(phoneNumber, hNumbers) {
  var splitPhoneNumber = phoneNumber.split(hNumbers);
  var result = '';

  if (splitPhoneNumber.length > 1) {
    for (var i = 0; i < splitPhoneNumber.length - 1; i++) {
      result += splitPhoneNumber[i] + '' + hNumbers + '';
    }
    return result + splitPhoneNumber[splitPhoneNumber.length - 1];
  }
  return phoneNumber;
};

Біз оны hightlightPhoneNumbers ('+ 123456789', '123') ретінде қолдануымыз мүмкін.

Бірақ бізде аздап проблема бар. Телефон нөмірі +1 234-567-89 сияқты көрінсе не болады? Ofcourse функциясы дұрыс жұмыс істемейді. Біз оны қалай түзете аламыз?

Hightlight means wrap numbers in tags or something. see http://jsfiddle.net/QhJWt/3/

1
Аннотация бұл. Ішкі жолды қалай атап өтуге болады? Бұл телефон нөмірі маңызды емес. Жалпы астам шешім бар.
қосылды автор Incognito, көзі
Қандай функцияны жасау керек? «Сандарды бөлектеу» дегеніміз не?
қосылды автор Alex Turpin, көзі

1 жауаптар

function hightlightPhoneNumbers(phoneNumber, clip) {
    var re = new RegExp(clip.split('').join('[\\s-]*'), 'gi');
    return phoneNumber.replace(re, '$&');
}

Айтпақшы, осы қызықты стандартты емес әдіс String тегіне жолды орындайтын .prototype.bold .

Demo.

2
қосылды
Үлкен жұмыс істейді. Рахмет!
қосылды автор Neir0, көзі