jQuery로 텍스트를 가져올 때 공백을 어떻게 제거합니까?


183

jQuery를 사용하여 mailto : anchor를 전자 메일 주소로 감싸고 싶지만 CMS가 생성하는 whitepace도 잡고 있습니다.

여기 내가 작업해야 할 HTML, 내가 가진 스크립트 및 출력 사본이 있습니다.

HTML

<div class="field field-type-text field-field-email">
  <div class="field-item">
    name@example.com    </div>
</div>

jQuery 자바 스크립트

$(document).ready(function(){
  $('div.field-field-email .field-item').each(function(){
    var emailAdd = $(this).text();
      $(this).wrapInner('<a href="mailto:' + emailAdd + '"></a>');
   });
 });

생성 된 HTML

<div class="field field-type-text field-field-email">
  <div class="field-items"><a href="mailto:%0A%20%20%20%20name@example.com%20%20%20%20">
    name@example.com    </a></div>
</div>

이 질문을 읽는 다른 사람들이 앞뒤 공백을 제거하고 싶을지도 모르지만, 줄 바꿈하는 전자 메일 주소이므로 모든 공백을 잃어 버리게되어 기쁩니다.


답변:


333

replacejs 에서 함수를 사용하십시오 .

var emailAdd = $(this).text().replace(/ /g,'');

그것은 모든 공간을 제거합니다

선행 및 후행 공백 제거 하려면 jQuery $ .trim 메소드를 사용하십시오.

var emailAdd = $.trim($(this).text());

11
정확하지만 / \ s / g는 더 명확한 패턴입니다 ( "i"는 중복되고 ''는 특이한 형식입니다. / (^ \ s *) | (\ s * $) / g 트림 동일합니다.
annakata

1
당신은 올바른 annakata입니다,이 경우에 대 / 소문자 구분이 문제가되지 않기 때문에 중복되므로 / i를 제거했습니다
Andreas Grech

6
주의해야 할 점은 IE는 공백이 아닌 공백 (& nbsp ;, & # 160 ;, & # xA0 ;, \ xA0, \ u00A0 등)을 공백으로 간주하지 않으므로 / [ \ s \ xA0] + / g는 모든 공백을 바꾸는 데 더 안정적 일 수 있습니다.
트래비스


69

실제로 jQuery에는 내장 트림 기능이 있습니다.

 var emailAdd = jQuery.trim($(this).text());

자세한 내용은 여기 를 참조 하십시오 .


3
모든 내장 기능에는 jQuery 래퍼가 있어야하므로
jasonszhao

24

str=str.replace(/^\s+|\s+$/g,'');


1
이것은 PHP 트림 기능과 같이 앞뒤 공백을 제거합니다.
Paul

1
당신은 자신을 설명 할 수 있습니까?
Francisco Corrales Morales

1
@FranciscoCorralesMorales : 여기에서 선택할 수 있다고 생각합니다 : 정규식에 대해 배우거나 그렇지 않습니다. 그렇게하면 표현이 자명 해지며, 그렇지 않으면 설명하기가 어려워 이해하기 쉽습니다. 정규 표현식에 대해 배웁니다. 여전히 배우려고해도 이해가되지 않으면 정확히 이해하지 못하는 것에 대해 구체적인 질문을하십시오.
Peter V. Mørch

5
이 / ^ \ s + | \ s + $ / g와 같은 것을 "일반"이라고하는 방법은 무엇입니까?
RyanNerd

정규식이라고합니다. 유한 언어를 사용하여 구문 분석 할 수있는 일반 언어를 설명 할 수 있기 때문입니다. 가장 순수한 형태의 정규 표현식은 사실 유한 상태 기계를 설명하는 방법입니다. 컴퓨터가 이해할 수있는 방식으로 코드에 오토 마톤 다이어그램을 포함시키는 것이 얼마나 어려운지를 고려할 때 정규 표현식은 간결함이 인간을 위해 구문 분석하기가 매우 어려워도 매우 훌륭합니다.
QuantumOmega
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.