在javascript php上下文中,回车的意义是什么?

在javascript php上下文中,回车的意义是什么?,php,javascript,validation,jquery-validate,carriage-return,Php,Javascript,Validation,Jquery Validate,Carriage Return,我正在表单的文本字段中输入数据,该字段包含2个新行字符,但没有回车字符。(我可以通过js中的strlen或使用str.charCodeAt()函数进行确认。) 现在,我将这个表单提交给一个php脚本,该脚本以某种方式接收回车符和新行字符 所以基本上,js中的\n变成了php中的\r\n 我有两个问题: 有人知道为什么会这样吗 为什么回程车票真的是用来买东西的 用例:服务器端和客户端的表单验证,用于限制字段的字符数。JavaScript将换行符视为\n,但是当您通过HTTP提交表单时,JavaSc

我正在表单的文本字段中输入数据,该字段包含2个新行字符,但没有回车字符。(我可以通过js中的strlen或使用str.charCodeAt()函数进行确认。)

现在,我将这个表单提交给一个php脚本,该脚本以某种方式接收回车符和新行字符

所以基本上,js中的
\n
变成了php中的
\r\n

我有两个问题:

  • 有人知道为什么会这样吗
  • 为什么回程车票真的是用来买东西的
    用例:服务器端和客户端的表单验证,用于限制字段的字符数。

    JavaScript将换行符视为
    \n
    ,但是当您通过HTTP提交表单时,JavaScript与此无关(除了检查文本)。Windows将换行符视为
    \r\n
    ,因此当您使用Windows并点击文本框中的返回键时,它实际上会在框中输入
    \r\n
    。当您将这些数据发布到服务器时,JavaScript不会这样做(除非您使用Ajax),您的浏览器会这样做。您的浏览器将使用与操作系统相同的换行设置,这就是为什么您在PHP文件中看到它们,而不是在JavaScript中看到它们的原因。不同的操作系统对待新行的方式不同。有关更多背景信息,请参阅

    编辑

    回车实际上来自旧的打印机命令。回车意味着“将打印机墨盒发送回行首”,换行符(或换行符)意味着“转到页面上的下一行。”

    浏览器正在将
    \n
    替换为
    \r\n
    。现在,CR仅用于将光标返回到输出控制台/终端的第一列,以及不能单独处理LF的传统系统。

    您必须指的是文本区域,而不是文本字段我正在使用mac作为web服务器。我还尝试了mac和windows电脑上的浏览器。使用IE、Chrome、FF.@Ron-如果你想知道如何解决这个问题,你可以尝试用C#或JavaScript对提交的字符串进行搜索和替换。