亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么字符代表文本區域中的新行

什么字符代表文本區域中的新行

慕妹3242003 2019-12-03 11:01:25
速度很快,但要確保我能適應跨平臺的變化。我喜歡將在文本區域中輸入的新行轉換為[逗號],以便可以將輸出表示為一行,這是我的問題...目前,從谷歌瀏覽器發送,當我查看該值時,發現它用于\r\n換行。如果替換,\r\n我知道它將在Windows 7上適用于chrome,但其他平臺又如何,其他瀏覽器將作為新行插入文本區域是否有所不同?
查看完整描述

3 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

根據HTML規范,要求瀏覽器規范用戶輸入CR LF(\r\n)中的換行符,而且我認為任何瀏覽器都不會出錯。參考:條款17.13.4 HTML 4.01規范中的表單內容類型。

在HTML5草案中,情況更為復雜,因為它們還處理瀏覽器內部的進程,而不僅僅是處理提交表單時發送到服務器端表單處理程序的數據。根據他們(和瀏覽器的實踐),textarea元素值存在三種變體:

  1. 用戶輸入的未標準化的原始值;它可能包含CR,LF或CR LF對;

  2. 內部值,稱為“ API值”,其中將換行符標準化為LF(僅);

  3. 提交值,其中根據Internet約定將換行符標準化為CR LF對。


查看完整回答
反對 回復 2019-12-03
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

根據HTML5規范,看來textarea元素的value屬性應該為換行符返回'\ r \ n':


使用以下轉換將元素的值定義為元素的原始值:


替換每次出現的“ CR”(U + 000D)字符,然后替換為“ LF”(U + 000A)字符,以及每次出現的“ LF”(U + 000A)字符,但不替換“ CR”( U + 000D)字符,由兩個字符組成的字符串,由U + 000D的CARRIAGE RETURN“ CRLF”(U + 000A)字符對組成。


通過鏈接到“值”,可以清楚地看到它引用了在javascript中訪問的value屬性:


表單控件具有一個值和一個檢查項。(后者僅由輸入元素使用。)這些元素用于描述用戶如何與控件進行交互。


但是,在所有五種主要瀏覽器(使用Windows,2015年11月27日)中,如果將'\ r \ n'寫入文本區域,則會刪除'\ r'。(要進行測試:var e = document.createElement('textarea'); e.value ='\ r \ n'; alert(e.value =='\ n');)從v9開始,這對于IE就是如此。在此之前,IE返回“ \ r \ n”并將“ \ r”和“ \ n”都轉換為“ \ r \ n”(這是HTML5規范)。所以...我很困惑。


為了安全起見,通常在正則表達式中使用'\ r?\ n'而不是僅使用'\ n'就足夠了,但是如果必須知道換行符序列,則可以在應用程序中執行上述測試。


查看完整回答
反對 回復 2019-12-03
  • 3 回答
  • 0 關注
  • 594 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號