Axel Richter: Welches "Zeichen" ist ein Carriage Return???

Beitrag lesen

Hallo,

\n auf Unix und MacOS >= 10
\r auf MacOS < 10
\r\n auf Windows

Hmm, na das ist nun wieder nicht so schön. Fragt sich nur, wie ich an diese ganzen numerischen Codes komme.

Am Besten wird es sein, Du bringst erst mal alle Möglichkeiten auf den kleinsten Nenner. Das ist, meiner Meinung nach \n. Das könntest Du mit einem string.replace und einer RegExp erreichen.
http://selfhtml.teamone.de/javascript/objekte/string.htm#replace

Das könnte in etwa so aussehen:
  inh = inh.replace(/[\r|\n|\r\n]+/g,"\n");

Die RegExp-Experten mögen mich berichtigen, wenn das nicht stimmt.

Dann musst Du nur noch eine Variante abfragen:

<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function inhaltTE() {
  var inh = document.getElementById("te").firstChild?document.getElementById("te").firstChild.nodeValue:"";
  inh = inh.replace(/[\r|\n|\r\n]+/g,"\n");
  for (var i=0; i<inh.length; i++) {
      c = inh.charAt(i);
      alert(c + " = " + escape(c));
      if (c == unescape("%0A")) alert("Zeilenwechsel");
  }
}
//-->
</script>
<noscript></noscript>
</head>
<body>
<textarea id="te"></textarea>
<input type="button" name="" value="OK" onclick="inhaltTE();">
</form>
</body>
</html>

viele Grüße

Axel