2016-05-30 3 views
0

Как я могу получить от этого HTML кодаJavascript ломтик строка символов

<a href="www.realy-long-link.com">Link<a> 

Href значения, глядя, как это - Realy Long Link и добавьте его в тело.

Вот что я сделал сейчас.

$("a").hide(); 
$("body").append($("a").attr("href")); 

Цель является:

  • Удалить WWW. в начале и .com в конце.
  • Символ - заменить в пространстве.
  • , состоящие из заглавных каждый первый символ

Вы можете редактировать мой codepen http://codepen.io/anon/pen/YWzJXM?editors=1010

+2

Что вы пробовали? Ваш codepen только добавляет href к телу. – SZenC

+0

Спасибо. Ред. –

ответ

1

Использование replace() метод

var a = document.getElementsByTagName('a'); 
 
a[0].style.display = 'none'; 
 
document.body.innerHTML += a[0].getAttribute('href') 
 
    // remove www. and .com 
 
    .replace(/^www\.|\.com$/g, '') 
 
    // convert first letter to upper case 
 
    .replace(/\b\w/g, function(m) { 
 
    return m.toUpperCase() 
 
    }) 
 
    // replace - with space 
 
    .replace(/-/g, ' ')
<a href="www.realy-long-link.com">Link<a>


Хотя вы можете сделать это без каких-либо регулярных выражений

var a = document.getElementsByTagName('a'); 
 
a[0].style.display = 'none'; 
 
document.body.innerHTML += a[0].getAttribute('href') 
 
    // split based on `'` 
 
    .split('.') 
 
    // remove `www` and `com` from array 
 
    .slice(1, -1) 
 
    // join again 
 
    .join('.') 
 
    // split based on `-` 
 
    .split('-') 
 
    // capitalize first letter 
 
    .map(function(v) { 
 
    return v.charAt(0).toUpperCase() + v.slice(1); 
 
    }) 
 
    // join by space 
 
    .join(' ')
<a href="www.realy-long-link.com">Link<a>


UPDATE: решение JQuery с тем же кодом

$('body').append($('a').hide().attr('href').replace(/^www\.|\.com$/g, '').replace(/\b\w/g, function(m) { 
 
    return m.toUpperCase(); 
 
}).replace(/-/g, ' ')); 
 

 
//or 
 
/* 
 

 
$('body').append($('a').hide().attr('href').split('.').slice(1, -1).join('.').split('-').map(function(v) { 
 
    return v.charAt(0).toUpperCase() + v.slice(1); 
 
}).join(' ')); 
 

 
*/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="www.realy-long-link.com">Link<a>