问题补充
1,function Checkkeynum(curinput)

  var checkarr=document.curinput.value;
  checkarr=checkarr.trim();
  checkarr.split("");
  if(checkarr.length>5)
  {
alert("您输入的关键字超过5个");  
  }
}
请问这个有什么问题,还有请问一下JS中有些函数是不是可以改变例如子串本身的值,这些就不用重新付给变量。
2,如果我要判断当前子串中有没有标点符号,请问怎么样写谢谢,菜鸟

解决方案 »

  1.   

    问题补充
    1,function Checkkeynum(curinput)

      var checkarr=document.curinput.value;
      checkarr=checkarr.trim();
      checkarr.split("");
      if(checkarr.length>5)
      {
    alert("您输入的关键字超过5个");  
      }
    }
    请问这个有什么问题,还有请问一下JS中有些函数是不是可以改变例如子串本身的值,这些就不用重新付给变量。
    2,如果我要判断当前子串中有没有标点符号,请问怎么样写谢谢,菜鸟
      

  2.   

    <input onblur="check(this)">这样就可以了
    或者设置input的id
      

  3.   

    1,function Checkkeynum() 

      var checkarr=document.getElementById("inp").value 
      checkarr=checkarr.trim(); 
      checkarr.split(""); 
      if(checkarr.length>5) 
      { 
    alert("您输入的关键字超过5个");  
      } 

    <input id="inp" onblur="check()">判断标点符号用正则表达式
      

  4.   

    4楼正解
    现在推荐使用getElementById来替代原来直接调用DOM标签名字的方式另外不是很明白你的意思,需要赋值才能改变其值的split()的意思是将字符类型变量按照split后面括号中的字符串作为分隔符划分成一个一维数组,你那样写是没有意义的需要赋值,赋值的对象就自动成为数组了,因为js也是一种弱类型语言所以不用事先定义这个变量是数组
      

  5.   

    上面的就不说了
    1:不用ckeckarr.split,直接用checkarr.length
    2:参考
    function Checkkeynum(curinput) 

      var checkarr=document.getElementById("curinput").value; 
      checkarr = checkarr.trim(); 
      if(checkarr.length > 5 && (/[,。;:?!‘’“”《》]/).test(checkarr))) 
      { 
    alert("您输入的关键字超过5个");  
      } 
      if ((/[,。;:?!‘’“”《》]/).test(checkarr))
      { 
    alert("您输入的关键字有标点符号");  
      }