function isChinese(elem){
  var pattern=/[^\x00-\xff]/g;
  if(pattern.test(elem)){
     //包含中文
  return true;
  }else{
    //不包含中文
     return false;
  }
}

解决方案 »

  1.   

    昨天能不能有点尊严啊?以后不要用这种提问题的方式.让人觉得很不舒服
    你可以做一个循环用charat()来判断了.如果字大于128就不是字母和数字
      

  2.   

    function check(){
    var userName = trim( document.formname.username.value ) + "";
    if ( userName == "" )
            {
                alert( "用户名不能为空!" );
                document.register.password.value = "";
                document.register.password1.value = "";
                return false;
            }
    return true;
    }/*下面为删除一个字符串首尾的空格*/
    function trim( strInput )
    {
    var iLoop = 0;
    var iLoop2 = -1;
    var strChr; if( ( strInput == null) || ( strInput == "" ) ) return "";
    if( strInput ) {
    for( iLoop = 0; iLoop < strInput.length; iLoop++ ) {
    strChr = strInput.charAt( iLoop );
    if( strChr != ' ' )
    break;
    }
    for( iLoop2 = strInput.length - 1; iLoop2 >= 0; iLoop2-- ) {
    strChr = strInput.charAt( iLoop2 );
    if( strChr != ' ' )
    break;
    }
    } if( iLoop <= iLoop2 ) {
    return strInput.substring( iLoop, iLoop2 + 1 );
    }
    else  return "";
    }form中调用一下function就可以了 我这有一个判断是否为数字的你可以看一下
    function isVilid( inputStr )
        {
            var strLength = inputStr.length;
            var returnValue = true;
            for ( var i = 0; i < strLength; i++ )
            {
                var key = inputStr.charCodeAt(i);
                if ( ( ( key >= 48 ) && ( key <= 57 ) ) || ( ( key >= 65 ) && ( key <= 90 ) ) || ( ( key >= 97 ) && ( key <= 122 ) ) || ( key > 255 ) )
                {
                    returnValue = true;
                }
                else
                {
                    returnValue = false;
                    return returnValue;
                }
            }
            return returnValue;
        }