浏览器是否发送“ \\\\ r \\\\ n”或“ \\\\ n”,或者取决于浏览器?

| 这个问题困扰了我一百万年...每当我创建一个文本区域允许多行的网站(例如用户个人资料的“ Bio”)时,我总是最终写出以下偏执狂码:
// C# code sample...
bio = bio.Replace(\"\\r\\n\", \"\\n\").Replace(\"\\r\", \"\\n\");
bio = Regex.Replace(@\"\\n{2,}\", \"\\n\\n\");
那么,如果有多行,浏览器会为ѭ1发送什么?     
已邀请:
        HTTP和MIME规范指定标头行必须以\\ r \\ n结尾,但是对于该内容的处理方式尚不明确(有些人会争辩说是否不清楚)。一个TEXTAREA。 (例如,请参见HTML工作组中的有关此问题的主题。) 这是HTTP / 1.1规范中有关消息头的引文:   邮件标题字段的行终止符是序列CRLF。但是,我们建议应用程序在解析此类标头时将单个LF识别为行终止符,并忽略前导CR。 我认为这通常是一个不错的策略:对您的产品严格要求,但接受的要求要宽松。您应该假定您将收到各种行终止符。 (请注意,除了CRLF和LF之外,Mac OS-9单独使用CR,并且周围还有一些。Unicode标准(第5.8节)指定了应被视为行终止符的各种字符序列;这里有他们的清单。)     
           如果ѭ2多行,浏览器会发送什么? 所有现代浏览器都发送CRLF(
\\r\\n
)。但是,这还没有得到令人满意的标准化,因此我绝对认为有必要对所有多行输入文本的换行进行规范化。 当通过JavaScript读取值而不是直接从表单提交值时,浏览器的行为会有所不同。 IE和Opera返回带有CRLF的字符串; Firefox和WebKit返回LF。因此,在JavaScript / XMLHttpRequest帮助下提交的任何形式都可能以任何一种形式出现。     

要回复问题请先登录注册