আমি জাভাস্ক্রিপ্টের এই নির্বোধ বিটটি ব্যবহার করে কয়েকটি ব্রাউজার পরীক্ষা করেছি:
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>
উইন্ডোজ ব্যবহারে আইই 8 এবং অপেরা 9 \r\n। আমি পরীক্ষিত অন্যান্য সমস্ত ব্রাউজার (উইন্ডোতে সাফারি 4 এবং ফায়ারফক্স 3.5, এবং লিনাক্সে ফায়ারফক্স 3.0) ব্যবহার করে \n। \nমান নির্ধারণের সময় এগুলি সকলেই ঠিকঠাক পরিচালনা করতে পারে, যদিও আইই এবং অপেরা সেটিকে \r\nআবার অভ্যন্তরীণভাবে রূপান্তরিত করে । জাভা স্ক্রিপ্টে লাইন এন্ডিংস নামে আরও কিছু বিশদ সহ একটি সাইটপয়েন্ট নিবন্ধ রয়েছে ।
এছাড়াও নোট করুন যে এই HTML ফাইল নিজেই প্রকৃত লাইন শেষা w শ স্বাধীন (উভয় \nএবং \r\nএকই ফলাফল দিতে)।
কোনও ফর্ম জমা দেওয়ার সময়, সমস্ত ব্রাউজারগুলি %0D%0Aইউআরএল এনকোডিংয়ে নিউলাইনগুলিকে প্রমিত করে তোলে । এটি দেখতে, উদাহরণস্বরূপ লোড করুন data:text/html,<form><textarea name="foo">foo%0abar</textarea><input type="submit"></form>এবং জমা দিন বোতামটি টিপুন। (কিছু ব্রাউজার জমা দেওয়া পৃষ্ঠার লোডকে ব্লক করে তবে কনসোলটিতে আপনি ইউআরএল-এনকোডযুক্ত ফর্ম মান দেখতে পারেন।)
যাইহোক, আপনাকে কোনও নির্ধারণের অনেক কিছুই করার দরকার নেই বলে আমি মনে করি। আপনি যদি কেবল নতুন লাইনে পাঠ্যটি বিভক্ত করতে চান তবে আপনি এরকম কিছু করতে পারেন:
lines = foo.value.split(/\r\n|\r|\n/g);