2017-11-29 2 views
-1

날짜로 형변환해야하는 문자열이 있습니다. IE에서는 문자열에 알 수없는 문자가 들어 있으며, 캐스팅 할 때 잘못된 날짜가 표시됩니다.자바 스크립트의 문자열에서 공백 문자를 제거합니다.

// empty line that I can't format in Stack overflow correctly 
0 
1 

/

0 
1 

/

2 
0 
1 
2 

그리고 dateString.length 출력 15 : 나는

var dateString = $('#DueDate').val() 
for(var i = 0; i < dateString.length; i++){console.log(dateString[i]);} 

을 실행하면

이 출력입니다. 이 문자는 내가 복사하면, 공간 dateString.valueOf() 때문에 출력 "‎01‎/‎01‎/‎2012" 또한

있어야하고,이 특수 문자가 IE 콘솔로 컨트롤 자체에서 있어야 할 곳에 붙여 넣을 수 없습니다, 개발자 도구 창이 .... 정지하면 제어에서 I 백 스페이스 올바른 장소에서 제대로 작동합니다 (아마도 특수 문자가 더 이상 존재하지 않기 때문일 수 있습니다). 이 문자를 검색하고 제거하려면 어떻게해야합니까?

+0

는이 https://stackoverflow.com/questions/1144783/how-to-replace-all-occurrences-of-a-string-in-javascript – Crappy

+0

@Crappy 영업 이익은 무엇을 모르는 참조 문자가 실제로 있으므로, 대체로'replace'를 사용하여 그것을 목표로 삼는 것이 최선의 선택이 아닐 수도 있습니다. – Santi

+0

@Santi에게 감사드립니다. https://en.wikipedia.org/wiki/Left-to-right_mark였습니다. – Conner

답변

1

이 문자를 검색하고 제거하려면 어떻게해야합니까?

정규 표현식을 사용할 수 있습니다. 당신이 무엇을 "이상한"문자에 대한 좀 더 많은 정보를 원하는 경우

var dateString = '12___/15___/20_17_xxx';   // Poorly-formatted date string 
 
dateString = dateString.replace(/[^0-9/]/g, ""); // 12/15/2017 
 

 
var date = new Date(dateString);     // Cast as date 
 
console.log(date);        // 2017-12-15T05:00:00.000Z


: 다음은 숫자 나 /가 아닌 것은 제거

문자열의 내용을 순환하여 각 문자 코드를 콘솔에 기록 할 수 있습니다.

var str = "Hello!"; 
 
for (var i = 0, len = str.length; i < len; i++) { 
 
    console.log(str.charAt(i) + ": " + str.charCodeAt(i)); 
 
}

관련 문제