function checkCharacter()
{
var enter=/^\w{2,30}$/;
if(!enter.exec(document.form.guess.value))
{
alert("格式不正确");
}
}

解决方案 »

  1.   

    str = "34我";
    var re = /[^\x00-\xff]+/i;
    var count = 0;
    for(var i=0; i<str.length; i++)
    {
        if(re.test(str.charAt(i)))
        {
            count += 2;
        }
        else
            count++;
    }
    if(count < 2 && count > 30)
        alert("error");
      

  2.   

    str = "34我";
    var re = /[^\x00-\xff]+/i;
    var count = 0;
    for(var i=0; i<str.length; i++)
    {
        if(re.test(str.charAt(i)))
        {
            count++;
        }
    }
    if(count < 2 && count > 30)
        alert("error");
      

  3.   

    我的意思是字符中包含汉字和其他字符:例如:women的csdn欢迎laiguanshui      用正则表示判断一下汉字的个数是否在2-30之间
      

  4.   

    liufei8463(feifei) var enter=/^\w{2,30}$/; 假如^\w代表汉字,这种方式是判断的是纯汉字的个数,如果字符串中有其它字符就不能判断
      

  5.   

    kevin1921(king) 你的方法虽然可以,但能不能只用正则表达试,不用for循环就能判断呢