2013-04-28 36 views
1

我从HTML元素中读出文本并将其保存在JS数组中,但如果用户放入多于一个空白空间,它将转换为不可破坏的空间符号。稍后如果我读出阵列,它会打印出“& nbsp”而不是空白。我如何检测空的空间?JS - 非易碎空间的转换

&nbsp //instead of an empty space 

我试图取代,但它不工作:

myText.replace(/( )*/g," ") 
+1

目前还不清楚是什么你”再问。在HTML中,多个连续空格呈现为单个空格,所以如果您想要多个空格实际显示,则使用' '。 – jfriend00 2013-04-28 16:16:35

+0

用户得到一个空的文本框,如果他提交空白空间,它们将被转换为&nbsp – daisy 2013-04-28 16:19:57

+1

为什么不能用空格替换所有' '事件? – Uby 2013-04-28 16:20:20

回答

3

正则表达式的符号表的空白

\x20 – standard space ‘\s’ 
\xC2\xA0 – ‘ ’ 
\x0D - ‘\r’ 
\x0A – new Line or ‘\n’ 
\x09 – tab or ‘\t’ 

JS表记数法:

String.fromCharCode(160) -   

现在用它用于替换您的所有角色,广告d更多,如果你想删除换行符或回车

var re = '/(\xC2\xA0/| )'; 
x = x.replace(re, ' '); 

你也可以使用

var re = '/(\xC2\xA0/| )'; 
x = x.replace(re, String.fromCharCode(160)); 

尝试使用该工具来测试更多的正则表达式www.rubular.com

+1

如果您使用的是jQuery,您还可以使用$(selector).html()来获取所有空间的数据。 – Notepad 2013-04-28 18:11:47