去除字串左右兩端的空格,在vbscript裡面可以輕鬆地使用 trim、ltrim 或 rtrim,但在js中卻沒有這3個內建方法,需要手工編寫。下面的實現方法是用到了Regex,效率不錯,並把這三個方法加入String對象的內建方法中去。
<input type="text" name="mytxt" value=" 12345678 " /><br>
<input type="button" name="cmd1" onclick="mytxt2.value=mytxt.value.trim()" value="去兩邊的空格"/>
<input type="text" name="mytxt2"/><br>
<input type="button" name="cmd1" onclick="mytxt3.value=mytxt.value.ltrim()" value="去左邊的空格"/>
<input type="text" name="mytxt3"/><br>
<input type="button" name="cmd1" onclick="mytxt4.value=mytxt.value.rtrim()" value="去右邊的空格"/>
<input type="text" name="mytxt4"/><br><script language="javascript">
String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.ltrim=function(){
return this.replace(/(^\s*)/g,"");
}
String.prototype.rtrim=function(){
return this.replace(/(\s*$)/g,"");
}
</script>
寫成函數可以這樣:
<script type="text/javascript">
function trim(str){ //刪除左右兩端的空格
return str.replace(/(^\s*)|(\s*$)/g, "");
}
function ltrim(str){ //刪除左邊的空格
return str.replace(/(^\s*)/g,"");
}
function rtrim(str){ //刪除右邊的空格
return str.replace(/(\s*$)/g,"");
}
</script>