function checkspace(checkstr) {
  var str = '';
  for(i = 0; i <checkstr.length; i++) {
    str = str + ' ';
  }
  return (str == checkstr);
}
function check()
{
  if(checkspace(document.admininfo.admin.value)) {
document.admininfo.admin.focus();
    alert("管理员用户名不能为空!");
return false;
  }
  if(checkspace(document.admininfo.UserPassword.value)) {
document.admininfo.UserPassword.focus();
    alert("密码不能为空!");
return false;
  }
    if(checkspace(document.admininfo.passcode.value)) {
document.admininfo.passcode.focus();
    alert("验证码不能为空!");
return false;
  }
document.admininfo.submit();
  }其中function checkspace(checkstr) {
  var str = '';
  for(i = 0; i &lt; checkstr.length; i++) {
    str = str + ' ';
  }
  return (str == checkstr);
}这段代码是什么意思?平常不加这段代码可以吗?以前我都是只用下面check里面的代码,没有调用上面那个函数

解决方案 »

  1.   

    function checkspace(checkstr) { 
      var str = ''; 
      for(i = 0; i < checkstr.length; i++) { 
        str = str + ' '; 
      } 
      return (str == checkstr); 
    }
    其目的是检测输入的是否为空,但这样写法比较罗嗦,另人晦涩,完全可以抛弃.....改用如下function checkspace(checkstr) { 
      var str = ''; 
      str=checkstr;
      if(str=='') 
        return true;
      else
        return false;
    }
      

  2.   


    这个作用无非就是验证checkstr是否等于''。
    str的长度是无所谓了,因为只要checkstr等于''或者""效果都一样。都相等。
      

  3.   

    function checkspace(checkstr)
    检查 checkstr 是不是 空白字符串(每个字符都是空格符的字符串)。是,返回true,否返回 false这种做法其实不地道,比较常见的做法是:
    function checkspace(checkstr) { 
      for(i = 0; i < checkstr.length; i++) { 
        if (checkstr[i] != ' ')
         return false;
      } 
      
      return ture; 
      

  4.   

    checkspace()
    检查字符串是否为空字符串
    为空 返回true
    <script>
    function checkspace(checkstr) {
      var str = '';
      for(i = 0; i <checkstr.length; i++) {
        str = str + ' ';
      }
      return (str == checkstr);

    alert(checkspace("    "))
    </script>
      

  5.   

    怎么判断呢,代个空值进去是吗,空值是null,不会等于str的空白值是吗.代码是这个意思吗?我就是这里不理解和不能肯定呢.要不然空与非空都能相等呢.
    谢谢楼上的专家们.初来这里,真的见识到csdn的强大和凝聚力
      

  6.   

    你那段是判断全空白,也就是'    '返回TRUE,但'   A  '就会返回FALSE,1楼改的是.只有''返回TRUE.其他全FALSE;
      

  7.   

    检查字符串是否为空字符串
    为空字符或空字符串 返回true
    其它都返回假
    主要是为了防止别人的输入信息时全部输入空白字串,这样虽然长度不为零,但结果内容没有意义,而靠长度检测则不会有意义
    function checkspace(checkstr) {
      var str = '';
      for(i = 0; i <checkstr.length; i++) {
        str = str + ' ';
      }
      return (str == checkstr);
    }
    alert(checkspace(""));
      

  8.   

    function check(checkstr)
    {
    if(checkstr.match(/^\s*$/))
         return false;
    return true;
    }
      

  9.   

    这种粗制滥造的破js代码你也看?
    强烈鄙视写这个代码的人。他这个checkspace函数的作用就是检查一个字符串是不是为空或者全部是空格。
    居然还用循环来做,代码长,占资源,效率差,垃圾呀垃圾!建议你去看正则表达式的验证,和正则表达式写的trim()函数。
      

  10.   

    to #15楼,关于占用资源,这个我没有测试过,我收回我上面的话,并表示歉意。我写个简洁的,跟楼主的checkspace函数一个功能的,只要短短一行就行了
    function checkspace(str){
      return !/[^\s]/.test(str);
    }
      

  11.   

    说楼主那个checkspace函数效率低,主要原因是,如果传入字符串长度叫大,那么他要构造非常多次字符串相加,这个公认的低效率。