javascript获取到textarea文本框中的回车换行符

作者:王先荣

结论

    javascript获取到textarea文本框中的字符串中,如果包含有回车换行符,在字符串中表现为“\n”,而不是我们通常所见的“\r\n”。

发现问题

    今天在做小网站的时候,需要将用户输入的英文分号、中英文逗号及回车都替换成中文分号,在编javascript函数的过程中,总是无法正确的替换回车。

例如:用户在textarea中输入:

测试字符串1

测试字符串2

我们将textarea中的输入字符串保存到变量content中,下面的替换语句不会将回车替换成中文分号。

content = content.replace("\r\n",";");

解决问题

    通过google大法(在google中搜索关键字“javascript substr \r\n”),找到了Ben先生的文章《Ask Ben: Javascript Replace And Multiple Lines / Line Breaks》,里面有非常详细的解释。

拓展

    如果我们要获取用户在textarea中输入的回车位置,需要使用类似下面的代码:

var pos = content.indexOf("\n");

    如果我们需要将回车替换为别的字符,例如分号,需要使用类似下面的代码:

content = content.replace("\n",";");

完整代码

    本文的完整代码如下所示:

//用中文分号替换英文分号、中英文逗号或者回车
function ReplaceSeperator(mobiles) {
    var i;
    var result = "";
    var c;
    for (i = 0; i < mobiles.length; i++) {
        c = mobiles.substr(i, 1);
        if (c == ";" || c == "," || c == "," || c == "\n")
            result = result + ";";
        else if (c != "\r")
            result = result + c;
    }
    return result;
}

posted @   Wuya  阅读(79652)  评论(3编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2010-04-27 OpenCV(EmguCV)2.1新特性介绍之图像分割GrabCut(GrabCut Of OpenCV 2.1)
点击右上角即可分享
微信分享提示