此功能高亮显示数字。
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/
答案 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>
标记。