簡體   English   中英

Javascript - 無法復制 ASCII 碼 13(回車)

[英]Javascript - Can't copy ASCII code 13 (Carriage Return)

(Q) 如何將(數千個) carriage returns (不是carriage returns new lines )從一個 textarea 復制到另一個 textarea?
我使用下面的腳本來檢查“損壞的字符”。
顯然carriage return是唯一不能正確復制的字符。
我想避免替換。

(編輯 1)
Carriage returns (code 13)自動轉換為"\\n"
"\\n".charCodeAt(0); 返回10
我需要它返回13
(Q)有沒有辦法把所有carriage returns即得到轉化為new linescarriage returns ,無需轉換new lines不是從一個轉換carriage return

(編輯 2)
看來我將不得不使用carriage returnssubstitute
(問)有什么建議嗎?

 function getListOfChars() { let arrayOfChars = []; for(let charCode = 0; charCode < 65536 /*1114112*/; charCode++) { arrayOfChars.push(String.fromCharCode(charCode)); //arrayOfChars.push(String.fromCodePoint(charCode)); } return arrayOfChars; } function getBrokenChars() { let listOfChars = getListOfChars(); let listOfBrokenChars = []; let char; let textareaValue; let textareaValueCharCode; for(let x = 0; x < listOfChars.length; x++) { char = listOfChars[x]; document.getElementById('textarea').value = char; textareaValue = document.getElementById('textarea').value; textareaValueCharCode = textareaValue.charCodeAt(0); //textareaValueCharCode = textareaValue.codePointAt(0); if(x !== textareaValueCharCode) { listOfBrokenChars.push(char); console.log("\\"" + char + "\\"" + " (" + x + ")" + " -> " + "\\"" + textareaValue + "\\"" + " (" + textareaValueCharCode + ")"); } } return listOfBrokenChars; } let brokenChars = getBrokenChars();
 <!DOCTYPE html> <html> <head> <title>Fix Bug Char Codes</title> </head> <body> <textarea id="textarea">a</textarea> </body> <script src="fixBugCharCodes.js"></script> </html>

您不能將\\r復制到文本區域(至少在測試時在 Firefox 中),因為跨平台瀏覽器將回車視為在某些 O/S 下用作換行符,並將其替換為換行符,' \\n',因此它在 JavaSdcript 中被視為換行符。

同樣,如果您將 MSDOS 換行對 CRLF ('\\r\\n`) 放入文本區域,瀏覽器會將其轉換為單個換行符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM