Az önce bu aptalca JavaScript'i kullanarak birkaç tarayıcıyı test ettim:
function log_newline(msg, test_value) {
if (!test_value) {
test_value = document.getElementById('test').value;
}
console.log(msg + ': ' + (test_value.match(/\r/) ? 'CR' : '')
+ ' ' + (test_value.match(/\n/) ? 'LF' : ''));
}
log_newline('HTML source');
log_newline('JS string', "foo\nbar");
log_newline('JS template literal', `bar
baz`);
<textarea id="test" name="test">
</textarea>
IE8 ve Opera 9, Windows üzerinde kullanılır \r\n
. Test ettiğim diğer tüm tarayıcılar (Windows'ta Safari 4 ve Firefox 3.5 ve Linux'ta Firefox 3.0) kullanıyor \n
. \n
IE ve Opera bunu \r\n
dahili olarak tekrar dönüştürecek olsa da, değer ayarlarken hepsi iyi işleyebilir . Javascript'te Satır sonları adı verilen bazı ayrıntıları içeren bir SitePoint makalesi var .
Bunun HTML dosyasının kendisindeki gerçek satır sonlarından bağımsız olduğunu da unutmayın (her ikisi de \n
ve \r\n
aynı sonuçları verir).
Bir form gönderirken, tüm tarayıcılar yeni satırları %0D%0A
URL kodlamasında . Bunu görmek için örn. Yükleyin data:text/html,<form><textarea name="foo">foo%0abar</textarea><input type="submit"></form>
ve gönder düğmesine basın. (Bazı tarayıcılar gönderilen sayfanın yüklenmesini engeller, ancak URL kodlu form değerlerini konsolda görebilirsiniz.)
Yine de, herhangi bir belirleme yapman gerektiğini düşünmüyorum. Metni yeni satırlara bölmek istiyorsanız, şöyle bir şey yapabilirsiniz:
lines = foo.value.split(/\r\n|\r|\n/g);