textarea正确显示空格换行以及空格,回车问题解决

前两天做了一个意见收集表单,测试提出问题如下:

1.空格回车不能正确显示;(回车消失,空格变短)
2.建议为空也能提交;

首先解决空格回车不能正确显示的问题,不同浏览器下textarea的回车符不一致:
IE浏览器:'\r\n';
FF浏览器,chrome浏览器:'\n';
空格符不同浏览器下都为:'\s';

但是在html中,换行符为 '</br>'; 空格符为 ' '
因此我们需要将textarea中的 '\r\n' , '\n' , '\s' 进行替换:

 var getFormatCode = function(strValue){
        return strValue.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, '&nbsp; ');
    }
var adviceText = getFormatCode($('#advice').val()); //将值进行替换

其次解决建议为空也能提交的问题,本来我以为我对意见为空的情况作了判断:

if (adviceText ==="" || adviceText===null){
            alert("建议需求不能为空")
        }

实际上这样对输入空格判断无效,需要用正则表达式来判断:

var input  = /^[\s]*$/;    //判断空格
var getFormatCode = function(strValue){
        return strValue.replace(/\r\n/g, '').replace(/\n/g, '').replace(/\s/g, '');            //将换行空格都转换为html中的空格
    }
var adviceText = getFormatCode($('#advice').val());
input.test(adviceText)   //如若全为空格,值为true;

附上手机号码以及电子邮箱的正则表达式:

var phone =  /^1\d{10}$/;  //首数字为1,总长度为11位;test值为true表示格式正确;
var email = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,676评论 9 468
  • 冰泡泡_5b2d阅读 236评论 1 0
  • 你倔强着不告诉他你的行程,成功的阻止了他来车站接你,其实你也不快乐。 你饿着肚子在车上难受,午餐早就被当做早饭和室...
    林小落要长草阅读 150评论 0 2
  • 今日,某球星出轨把我们的朋友圈,微博刷屏了。 其实不管有多少人出轨,我们依然应该给身边的人足够的信任,也许最后的结...
    行者_漂泊阅读 161评论 0 0
  • 你与头等舱的距离,差的不只是钱 思维导图拆解图 17.6.21后记: 自从参加训练营已经过去几个月了。其实我并没有...
    易鸿Rain阅读 149评论 1 1