zoukankan      html  css  js  c++  java
  • 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;
            }
    

  • 相关阅读:
    opencv-识别手写数字
    opencv-图像遍历
    533. Lonely Pixel II
    531. Lonely Pixel I
    495. Teemo Attacking
    370. Range Addition
    487. Max Consecutive Ones II
    485. Max Consecutive Ones
    414. Third Maximum Number
    90. Subsets II
  • 原文地址:https://www.cnblogs.com/xrwang/p/LineBreakInJavascript.html
Copyright © 2011-2022 走看看