如果输入的是空格,就不提交然后重定向。
我写的。
function checkinput () {
    if (document.getElementById("id_q").value==" ") {
        alert ("Space!");
        location.href="?";
        return false;
    }
    alert ("yes!");
    return true;
}
但是只能控制一个空格。如果是两个连续的空格怎么办,或者三个更多。就是如果都是空格就不提交

解决方案 »

  1.   

    document.getElementById("id_q").value.replace(/\s+/g,'')==''
      

  2.   


    document.getElementById("id_q").value=event.keyCode;
    if(id_q==32)
    {}
    else{}
      

  3.   

    试了下
    2楼的可以,多谢crying_boy。能不能解释一下正则的匹配?
    3楼的不行,event.keyCode是不是只接收一次啊。
    假如输入"   aa   "跟"       "两种。一种纯空格,一种还有别的字符。是不是都一样了。另外Unicdoe与ASCII的空格的值是不一样的吧
    也谢谢akyahoo
      

  4.   

    .replace()方法在不使用正则的前提下,每次只能做单一匹配
    replace(/\s+/g,'')\s是指匹配空白字符,+是指前面匹配到的空白字符出现一次或多次。效果就是将空白字符替换成''
      

  5.   

    Trim()方法,去掉前后空格,如果是中间的空格,那只有用replace(/\s+/g,'')==''
      

  6.   

    不是中间的空格,就是一开始就是空格,没有别的东西。
    以下是合法的:
    “□□□中国□□”
    “□□中国”
    “中国□□□”
    基中“□”表示空格,就是只要有非空格的字符就行。我主要是用来检索的。只要输入了关键词就行。
    以下是非法的:
    “”什么都不输
    “□□□□□□□□□□”只输入空格,不管输入一个还是多个。
    能具体说下Trim()吗?简单的例子就行。
    document.getElementById("id_q").value.Trim()==''  ???