2015/12/18

IE 8 버전에서 trim() 작동 안됨 // 공백 제거, Internet Explorer 8, JavaScript, jQuery, $.trim()

1. JavaScript의 trim() 이 IE 8 버전에서는 오류 발생!

사용자 입력값의 공백 제거는 기본 중의 기본.

그런데, IE 8 버전에서는 JS의 trim() 함수가 지원되지 않는다.

이런 기본(중의 기본)적인 함수가 버전을 탈 줄이야... 털썩.

- JavaScript String trim() Method ( http://www.w3schools.com/jsref/jsref_trim_string.asp ) 에서 Browser Support 참고


2. 해결 방법

정규식을 사용해서 처리하면 되겠다는 것은 직감적으로 떠올랐지만,

검색을 해보니 역시나 고급진(?) 테크닉이 뙇!

JS 구조(?) 상에 trim() 가 없으면 그걸 정규식으로 만들어서 채워주는 식으로 처리하는 듯?

if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}

- .trim() in JavaScript not working in IE ( http://stackoverflow.com/questions/2308134/trim-in-javascript-not-working-in-ie )

// 근데, 저걸 어디에서 처리해야 적용을 잘 했다고 소문이 날까...


3. 다른 해결방법

jQuery를 사용 중이라면 걍 jQuery에서 처리해도 된다고 함. (jQuery에 trim()이 따로 있는지 몰랐었;;;;;;)

$.trim(" hello, how are you? ");

- jQuery.trim( https://api.jquery.com/jQuery.trim/ )

오늘도 결론은 jQuery! ㅋ


댓글 없음:

댓글 쓰기