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.