在javascript中处理文本框输入值时,经常要用到"去掉前后空白"的功能。
用过jquery的朋友都知道,jquery提供了一个trim()这样的功能函数。
js本身又没有这样的函数,只有自己实现trim函数了。
例子:
复制代码 代码示例:
//供使用者调用
function trim(s){
return trimright(trimleft(s));
}
//去掉左边的空白
function trimleft(s){
if(s == null) {
return "";
}
var whitespace = new string(" tnr");
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(" tnr");
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--;
} // www.jb200.com
str = str.substring(0, i+1);
}
return str;
}
相关链接:
- JS去空格函数代码
- JavaScript去除字符串首尾空格
- js去空格技巧 js去除字符串前后、左右空格
- js 去除首尾空格的方法
- JS去除字符串的中间空格的代码
- js去除字符串前后空格的多种方法
- Js过滤空格的代码(附演示截图)
使用时只需调用trim函数即可。
js正则实现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=' 前后都是空格 ';">
注意:以上代码由于编辑器的问题,空格被替换了,大家测试时注意添加空格。