本文介绍了突出显示电话号码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此功能突出显示数字.

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,该怎么办?当然功能不能正常工作.我们如何解决它?

But we have a little problem. What if phone number looks like +1 234-567-89?Ofcourse function doesnt work correct. How we can to fix it?

Hightlight表示将数字包装在标签 中.参见 http://jsfiddle.net/QhJWt/3/

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

推荐答案

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

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

By the way, there is this funny non-standard method of String.prototype.bold that wraps a string into a <b></b> tag.

演示.

这篇关于突出显示电话号码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 20:00