2011-10-27 3 views
1

Cette fonction numéros de lumière. Nous pouvons l'utiliser en tant que hightlightPhoneNumbers('+123456789','123').Hightlight Numéros dans le numéro de téléphone

Mais nous avons un petit problème. Et si le numéro de téléphone ressemble à +1 234-567-89? La fonction Ofcourse ne fonctionne pas correctement. Comment pouvons-nous le réparer?

Hightlight signifie les numéros d'envelopper dans les étiquettes ou quelque chose. voir http://jsfiddle.net/QhJWt/3/

+1

Résumé this. Comment pouvez-vous mettre en évidence une sous-chaîne? Le fait que ce soit un numéro de téléphone n'a pas d'importance. Une solution plus générale existe. – Incognito

+0

Quelle est la fonction censée faire? Que signifie "mettre en évidence les nombres"? –

Répondre

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

Par ailleurs, il y a cette drôle méthode non standard de String.prototype.bold qui enveloppe une chaîne dans une balise <b></b>.

Demo.

+0

Fonctionne très bien. Merci! – Neir0

Questions connexes