用javascript删除部分字符串

时间:2010-11-24 13:58:25

标签: javascript html dom string

我有点奇怪的情况,我需要修复一个网站中的错误,当创建一个字符串(动态)时,它会在字符串之前添加5个空格,在字符串之后添加5个空格。显然,最好的办法是修复后端代码并摆脱那些空间......长话短说,我不能和我必须用javascript做。我不太确定该怎么做,但这就是我的想法

<!--Dynamically generated string including spaces added in backend-->
<span id="balance">     245.34     </span>

我的想法是用javascript

执行以下操作
function removespace()
{
  var oldString = document.getElementById('balance');
  var newString = (THIS IS WHERE I AM STUCK... I NEED TO REMOVE THE SPACES);
  document.getElementByID('balance').innerHTML = newString;
}

有没有人有任何建议? 谢谢!

还要注意:我不能使用任何javascript库,如prototype或jquery。

编辑:到目前为止,我有这个...但它似乎没有工作:

<span id="balance">     $245.00     </span>

 <script>
 function removespace()
 {
   var oldString = document.getElementById('balance');
   var newString = oldString.trim ();
   document.getElementByID('balance').innerHTML = newString;
 }

 String.prototype.trim = function() {
 return this.replace(/^\s+|\s+$/g,"");
 }
 </script>

这是我使用的解决方案......我在看到其他更新之前完成了它...但是每个人都非常有帮助

function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g,"");
 }
 var oldString = document.getElementById('balance').innerHTML;
 var newString = trim(oldString);
 document.getElementById('balance').innerHTML = newString;

6 个答案:

答案 0 :(得分:8)

不幸的是,JavaScript没有trim()功能。但你可以自己动手:

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}

然后执行:

var newString = oldString.trim ();

上述功能来自this website(google上的第一个结果是“javascript trim”)

编辑(根据您对问题和评论的更新):

变化

var oldString = document.getElementById('balance');

var oldString = document.getElementById('balance').innerHTML;

并更改

document.getElementByID('balance').innerHTML = newString;

document.getElementById('balance').innerHTML = newString; // notice the lower case d

你必须在某个时候调用removespace函数(但我相信你已经这样做了):)

答案 1 :(得分:0)

写出我的脑袋。

var elem = doc.getElementById('balance');
var oldString = elem.innerHTML;
elem.innerHTML=oldString.(/^\s+|\s+$/g,"")

那样的东西?

编辑:是的,只有我的第一个空格被删除,所以我从答案编号1偷了空白:)

答案 2 :(得分:0)

你尝试这样的事情

str.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "");

答案 3 :(得分:-1)

使用trim()删除所有空格

var newString = oldString.trim();

或使用replace用空字符串替换空格:

var newString = oldString.replace(“”,“”);

答案 4 :(得分:-1)

使用jQuery很简单:

var newStr = jQuery.trim(oldStr);

答案 5 :(得分:-1)

如果余额是双倍的,你可以把它转换为字符串:

var c = '1234';
d = c * 1;

如果需要,则返回字符串:

d = c.toString();