js trim函數 去空格函數與正則集錦
2024-05-06 14:12:51
供稿:網友
但是如果項目沒有用到jQuery等框架的話,js本身又沒有這樣的函數,我們不得不自己寫這樣的函數,下面是函數的具體實現:
代碼如下:
//供使用者調用
function trim(s){
return trimRight(trimLeft(s));
}
//去掉左邊的空白
function trimLeft(s){
if(s == null) {
return "";
}
var whitespace = new String(" /t/n/r");
var str = new String(s);
if (whitespace.indexOf(str.charAt(0)) != -1) {
var j=0, i = str.length;
while (j < i && whitespace.indexOf(str.charAt(j)) != -1){
j++;
}
str = str.substring(j, i);
}
return str;
}
//去掉右邊的空白
function trimRight(s){
if(s == null) return "";
var whitespace = new String(" /t/n/r");
var str = new String(s);
if (whitespace.indexOf(str.charAt(str.length-1)) != -1){
var i = str.length - 1;
while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){
i--;
}
str = str.substring(0, i+1);
}
return str;
}
使用時只需調用trim函數即可。
下面是用正則的實現方法:
代碼如下:
<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>
<input type="text" value=" 前后都是空格 " id="space">
<input type="button" value="去前后空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.Trim();document.getElementById('space').select();">
<input type="button" value="去前空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.LTrim();document.getElementById('space').select();">
<input type="button" value="去后空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.RTrim();document.getElementById('space').select();">
<input type="button" value="還原" onclick="javascript:document.getElementById('space').value=' 前后都是空格 ';">
上面的代碼因為編輯器的問題,空格被替換了,所以大家請注意添加空格,測試。