zoukankan      html  css  js  c++  java
  • 关于textarea中换行、回车、空格的识别与处理

    需求:在textarea中输入文字,提交给后台后,后台输出在另一个页面,文字按原格式显示。

     
    问题:如何还原输入框中的换行和空格?

    兼容性:IE9以上、FF、chrome在换行处匹配/ /
                  IE7-8在换行处先匹配/ /,再匹配/ /
     
    html:

    <textarea name="" id="test_new_line" cols="30" rows="10"></textarea>
    <input type="button" id="submit" value="提交"/>
    <div id="result"></div>

    js:

    document.getElementById("submit").onclick = function(){
    var newString = document.getElementById("test_new_line").value.replace(/ /g, '_@').replace(/ /g, '_#');
    document.getElementById("result").innerHTML = newString;
    };

    输入:

    关于textarea中换行、回车、空格的识别与处理 - helloiamkitty - 单骑邮差
     输出:
    亲爱的:_#_@ 新年好!_#_@_#_@ 2013年春节 // IE7-8
    亲爱的:_@ 新年好!_@_@ 2013年春节 //IE9、FF、chrome
     
    兼容性解决方案:

    document.getElementById("submit").onclick = function(){
    var newString = document.getElementById("test_new_line").value.replace(/ /g, '_@').replace(/ /g, '_#');

    newString = newString.replace(/_#_@/g, '<br/>');//IE7-8

        newString = newString.replace(/_@/g, '<br/>');//IE9、FF、chrome
        newString = newString.replace(/s/g, '&nbsp;');//空格处理

    document.getElementById("result").innerHTML = newString;
    };

    最终结果:
    chrome:
    关于textarea中换行、回车、空格的识别与处理 - helloiamkitty - 单骑邮差
     
     FF:
    关于textarea中换行、回车、空格的识别与处理 - helloiamkitty - 单骑邮差
     
     IE:
    关于textarea中换行、回车、空格的识别与处理 - helloiamkitty - 单骑邮差
     
    方案缺陷:
    1、提交的文字中不能包含:"_@"、"_#"这两个字符。
    2、IE、FF对空格的显示不理想(不能100%还原格式)。
     
    文章原地址:http://helloiamkitty.blog.163.com/blog/static/189677101201311330792/
  • 相关阅读:
    canvas 文本坐标(0,0)显示问题
    canvas 图片跨域处理
    canvas 文字换行
    什么是柯理化函数?
    记录一下学习webpack原理的过程
    pika和kombu实现rpc代码
    pika和rabbitMQ实现rpc代码
    docker部署rabbitMQ
    rabbitMQ和pika模块
    ubuntu搭建关于amd64或arm64,armhf架构的本地apt源
  • 原文地址:https://www.cnblogs.com/zjhr/p/5704125.html
Copyright © 2011-2022 走看看