日期:2014-05-16  浏览次数:20409 次

javascript里如何判断空值
下面的示例是去除末尾的空格,即如果只输入了空格,请求将被拦截:

<script>

//去掉字串右边的空格
function rTrim(str)
{
  var iLength;
 
  iLength = str.length;
  if (str.charAt(iLength - 1) == " ")
  {
    //如果字串右边第一个字符为空格
    str = str.slice(0, iLength - 1);//将空格从字串中去掉
    //这一句也可改成 str = str.substring(0, iLength - 1);
    str = rTrim(str);    //递归调用
  }
  return str;
}

//变量
var name = "A A    ";
//去除空格
name=rTrim(name);

if (name){
alert("内容是:"+name+";");
}

</script>


下面的两个函数提供了去除左边的空格和两端空格的方法:

//去掉字串左边的空格
function lTrim(str)
{
  if (str.charAt(0) == " ")
  {
    //如果字串左边第一个字符为空格
    str = str.slice(1);//将空格从字串中去掉
    //这一句也可改成 str = str.substring(1, str.length);
    str = lTrim(str);    //递归调用
  }
  return str;
}

//去两端空格
function jtrim(sstr)
{
var astr="";
var dstr="";
var flag=0;
for (i=0;i<sstr.length;i++)
    {if ((sstr.charAt(i)!=' ')||(flag!=0))
    {dstr+=sstr.charAt(i);
     flag=1;
        }
    }
flag=0;
for (i=dstr.length-1;i>=0;i--)
    {if ((dstr.charAt(i)!=' ')||(flag!=0))
    {astr+=dstr.charAt(i);
     flag=1;
        }
    }
dstr="";
for (i=astr.length-1;i>=0;i--) dstr+=astr.charAt(i);
return dstr;
}

当然,把前面两个函数一起调用也可以去掉两端空格