HTML5 사양 에 따르면 textarea 요소의 value 속성은 개행 문자에 대해 '\ r \ n'을 반환해야합니다.
요소의 값 은 다음 변환이 적용된 요소의 원시 값으로 정의됩니다.
"LF"(U + 000A) 문자가 뒤 따르지 않는 "CR"(U + 000D) 문자와 "CR"(U + 000A) 문자가 앞에 나오지 않는 모든 "CR"(U + 000A) 문자를 교체합니다. U + 000D) 문자, U + 000D CARRIAGE RETURN "CRLF"(U + 000A) 문자 쌍으로 구성된 2 자 문자열로.
'value'에 대한 링크를 따라 가면 자바 스크립트에서 액세스 한 값 속성을 참조 함을 분명히 알 수 있습니다.
양식 컨트롤에는 값과 검사가 있습니다. (후자는 입력 요소에서만 사용됩니다.) 이들은 사용자가 컨트롤과 상호 작용하는 방법을 설명하는 데 사용됩니다.
그러나 다섯 가지 주요 브라우저 (Windows 사용, 2015 년 11 월 27 일 사용)에서 '\ r \ n'이 텍스트 영역에 기록되면 '\ r'이 제거됩니다. (테스트하려면 : var e = document.createElement ( 'textarea'); e.value = '\ r \ n'; alert (e.value == '\ n');) v9부터 IE에 해당됩니다. 그 전에 IE는 '\ r \ n'을 반환하고 '\ r'과 '\ n'을 모두 '\ r \ n'(HTML5 사양)으로 변환했습니다. 그래서 ... 혼란 스러워요.
안전을 위해 일반적으로 정규 표현식에서 '\ n'대신 '\ r? \ n'을 사용하는 것으로 충분하지만 개행 시퀀스를 알아야하는 경우 앱에서 위와 같은 테스트를 수행 할 수 있습니다.