我有点奇怪的情况,我需要修复一个网站中的错误,当创建一个字符串(动态)时,它会在字符串之前添加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;
答案 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();