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",";");
完整代码
本文的完整代码如下所示:
1 //用中文分号替换英文分号、中英文逗号或者回车 2 3 function ReplaceSeperator(mobiles) { 4 5 var i; 6 7 var result = ""; 8 9 var c; 10 11 for (i = 0; i < mobiles.length; i++) { 12 13 c = mobiles.substr(i, 1); 14 15 if (c == ";" || c == "," || c == "," || c == "\n") 16 17 result = result + ";"; 18 19 else if (c != "\r") 20 21 result = result + c; 22 23 } 24 25 return result; 26 27 }
转:http://www.cnblogs.com/xrwang/archive/2011/04/27/LineBreakInJavascript.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述