突出显示电话号码中的数字

时间:2011-10-27 13:36:29

标签: javascript phone-number

此功能高亮显示数字。

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] + '<b>' + hNumbers + '</b>';
    }
    return result + splitPhoneNumber[splitPhoneNumber.length - 1];
  }
  return phoneNumber;
};

我们可以将其用作hightlightPhoneNumbers('+123456789','123')

但我们有一点问题。如果电话号码看起来像+1 234-567-89怎么办? 当然功能不正确。我们如何解决它?

高亮表示在标签 或其他内容中包装数字。见http://jsfiddle.net/QhJWt/3/

1 个答案:

答案 0 :(得分:2)

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

顺便说一下,String.prototype.bold这个有趣的非标准方法将字符串包装成<b></b>标记。

Demo