[英]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 lines
回carriage returns
,無需轉換new lines
不是從一個轉換carriage return
?
(編輯 2)
看來我將不得不使用carriage returns
的substitute
。
(問)有什么建議嗎?
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.