在记事本里 我们敲回车 文本会换行 是否隐形的加入了 \r\n?
我们如何去匹配呢?
就好像在编辑这个问题一样,敲一下就换行,是如何实现的?

解决方案 »

  1.   

    js控制的,这样:
    Demo:<html>
    <head>
    <script language="javascript">
    ns4 = (document.layers) ? true : false;
    ie4 = (document.all) ? true : false;
    function keyDown(e){
    if(ns4){
    var nkey=e.which;
    var iekey='现在是ns浏览器';
    var realkey=String.fromCharCode(e.which);
    }
    if(ie4){
    var iekey=event.keyCode;
    var nkey='现在是ie浏览器';
    var realkey=String.fromCharCode(event.keyCode);
    if(event.keyCode==32){realkey='\' 空格\''}
    if(event.keyCode==13){realkey='\' 回车\''}
    if(event.keyCode==27){realkey='\' Esc\''}
    if(event.keyCode==16){realkey='\' Shift\''}
    if(event.keyCode==17){realkey='\' Ctrl\''}
    if(event.keyCode==18){realkey='\' Alt\''}
    }
    document.write('ns浏览器中键值:'+nkey+'\n'+'ie浏览器中键值:'+iekey+'\n'+'实际键为'+realkey);
    }
    document.onkeydown = keyDown;
    if(ns4){
    document.captureEvents(Event.KEYDOWN);
    }
    </script>
    </head>
    <body>
    //Javascript Document.
    <hr>
    <center>
    <h3>请按任意一个键。</h3>
    </center>
    </body>
    </html> 
      

  2.   

    是的
    window \r\n
    linux \n
    mac \r跨系统匹配需用正则表达式 /[\r\n]+/
    当前操作系统的 PHP_EOL
      

  3.   

    从技术角度讲, 一方面驱动层有事件, 另一方面你也只是从标准输入写了一个东西进去, 系统调用read是可以读到的..