`
bosschen
  • 浏览: 197163 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

获取textarea标签中的换行符和空格

 
阅读更多

问题:

 

获取到textarea标签内的格式(换行符、空格)取到,存入数据库,展示的时候能够保留基本格式。

 

 

解决思路:

 

IE9以上、FF、chrome的换行为\n, IE7-8的时候换行为\r\n,空格都为\s

 

所以需要利用replace把不同浏览器的\n和\r\n都替换为html代码的</br>,把\s空格替换为html的&nbsp 

 

注:如果使用jQuery的val()获取textarea的值,取得的值是不含有回车(\r)字符的。但是如果该值是通过 XHR 传递给服务器的,回车(\r)字符会被保留(或者是被浏览器添加的,但是在原始数据中并不包含回车(\r))。

 

该例对\r和\r\n都做了replace替换,实际效果不受影响,只需要注意一下有区别。

 

代码如下

 

html:

 

<textarea name="" id="text" cols="30" rows="3"></textarea>
<input type="button" id="btn" value="测试测试" />
<div id="show"></div>

 

 

js:

 

document.getElementById("btn").onclick = function() {
		var strContent = document.getElementById("text").value;
		alert("处理前的strContent为\r\n"+strContent);
		strContent = strContent.replace(/\r\n/g, '<br/>'); //IE9、FF、chrome
		strContent = strContent.replace(/\n/g, '<br/>'); //IE7-8
		strContent = strContent.replace(/\s/g, ' '); //空格处理
		alert("转换之后的html代码为\r\n"+strContent);
		document.getElementById("show").innerHTML = strContent;
	};

 

 

扩展:

写一个公共函数处理该类问题。

 

/*
 * 根据Value格式化为带有换行、空格格式的HTML代码
 * @param strValue {String} 需要转换的值
 * @return  {String}转换后的HTML代码
 * @example  
 * getFormatCode("测\r\n\s试")  =>  “测<br/> 试”
 */
var getFormatCode=function(strValue){
	return strValue.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');
}

 

调用getFormatCode即可得到拿到转换后的代码,随后可按需求自行处理(入库等)。

 

--------------------- 

作者:Joker_Ye 

来源:CSDN 

原文:https://blog.csdn.net/hj7jay/article/details/74279967 

版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

分享到:
评论

相关推荐

    textarea换行符

    ### textarea换行符处理 在Web开发中,`textarea`元素是HTML中用于接收多行文本输入的一个常用组件。在用户通过`textarea`输入文本时,可能会遇到换行符(通常为`\r\n`)的问题。这些换行符在不同的环境中可能会被...

    处理textarea换行空格

    默认情况下,当用户在`textarea`中按下回车键时,浏览器会插入一个`\n`(换行符)来表示新行。对于空格,连续的多个空格在HTML渲染时会被合并为一个空格。在后端处理或存储这些数据时,可能需要进一步的转换。 1. *...

    textarea去除多余空格和回车的方法及其属性

    错误的做法是将`&lt;/textarea&gt;`放在新的一行,这会导致换行符和空格被计入`textarea`的内容中。正确的做法是确保`&lt;textarea&gt;`和`&lt;/textarea&gt;`在同一行内,如下所示: ```html &lt;textarea&gt;你好&lt;/textarea&gt; ``` 2. `...

    获取 textarea 标签第n行的文字的js代码

    因此,为了实现跨浏览器的兼容性,我们需要根据浏览器类型来处理换行符。 可以使用 `document.all` 来检测是否为 IE 浏览器。如果 `document.all` 存在,则说明当前浏览器是 IE 或旧版的 Edge,此时需要用 `\r\n` ...

    处理textarea中的换行和空格

    2. **显示时处理文本**:在从后台获取文本后,通过 JavaScript 对文本进行处理,移除所有空格,然后将其放入 `&lt;pre&gt;` 标签中。`&lt;pre&gt;` 标签可以保留文本的原始格式,包括换行和空格,非常适合展示代码或保持格式不变...

    jsp实现textarea中的文字保存换行空格存到数据库的方法

    3. 在JSP页面中,需要对字符串进行处理,将换行符和空格转换为适当的HTML标签或实体,以保持原有格式。 4. 设置正确的字符编码,确保中文等特殊字符能够正确处理。 5. 在将数据存入数据库之前,需要检查并避免SQL...

    Textarea处理

    在某些场景下,例如从数据库读取存储的文本并希望在`textarea`中编辑时,我们可能需要将HTML中的` `标签还原为换行符,以便于编辑和后续处理。 #### JavaScript函数:replaceTextarea2() 为此,`...

    jQuery替换textarea中换行的方法

    在给出的示例中,问题在于同事尝试使用`.text()`来获取textarea的值,这导致换行符被转换成了`\n`字符串,而不是实际的换行。因此,使用JavaScript的`replace()`方法替换`\n`无效,因为实际的换行符已经不存在了。 ...

    php获取textarea的值并处理回车换行的方法

    在网页开发中,用户在`textarea`输入框中按下回车键时,浏览器并不会自动将回车转换为换行符,而是将它们保存为特定的字符序列,通常是`\r\n`(回车换行)。在PHP中,我们需要手动处理这些特殊字符以便正确地显示和...

    把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码

    为了在textarea中替换掉所有的回车和换行符,可以使用JavaScript的正则表达式配合`replace`方法。正则表达式中的`/g`标志表示全局匹配,意味着会替换掉所有符合条件的字符。对于`\n`或`\r\n`,可以分别用`/\n/g`和`/...

    php将textarea数据提交到mysql出现很多空格的解决方法

    这通常是因为在HTML页面上,开发者可能没有注意到`&lt;textarea&gt;`元素中的文本直接换行或者在换行时输入了不可见的换行符`\r\n`(回车换行符),而这些换行符在提交到MySQL数据库时会被自动转换为普通的空格。...

    HTML的TextArea中保存格式问题解决方法

    `&lt;pre&gt;`标签的作用是保留其中的空白字符,包括空格、制表符和换行符,使得它们在浏览器中按照原样显示。 以下是详细的解决步骤: 1. **数据保存**: - 当用户在`&lt;textarea&gt;`中输入文本并提交时,`\n`这样的换行符...

    jquery对textarea的长度进行验证

    在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互等任务。...在实际开发中,根据具体需求,还可以进一步定制验证逻辑,比如区分中英文字符、考虑换行符等因素。

    PHP实现将textarea的值根据回车换行拆分至数组

    因为textarea通常以回车换行符(在Windows系统中是\r\n,而在Unix/Linux系统中是\n)来分隔用户输入的每一行。在PHP中,我们使用explode函数来根据特定的分隔符拆分字符串。由于本例中讨论的是Windows系统,我们将...

    PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br

    - **换行符处理**:在PHP中,除了`\n`,还有`\r\n`(Windows系统中的换行符)和`\r`(Mac OS老版本中的换行符)。`nl2br()`主要处理`\n`,但实际处理跨平台的文本时,可能需要考虑其他换行符。 - **PHP_EOL**:这个...

    ASP.NET过滤HTML标签只保留换行与空格的方法

    在*** Web Forms中,`&lt;textarea&gt;`是一个多行文本输入控件,用户在其中输入的文本会被保留换行符和空格。如果我们要保留这些格式特性,就需要将文本中的换行符`\n`转换为HTML中的` `标签,以确保这些换行在网页上...

Global site tag (gtag.js) - Google Analytics