$str  =  "中文测试";  
preg_match_all("/([\x81-\xfe][\x40-\xfe])/",  $str,  $ch);  
$patterns  =  array_unique($ch[0]);  
print_r($patterns);

解决方案 »

  1.   

    <script language=javascript>
     function regInput(obj, reg, inputStr)
     {
      var docSel = document.selection.createRange()
      if (docSel.parentElement().tagName != "INPUT") return false
      oSel = docSel.duplicate()
      oSel.text = ""
      var srcRange = obj.createTextRange()
      oSel.setEndPoint("StartToStart", srcRange)
      var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
      return reg.test(str)
     }
    </script><input onkeypress = "return regInput(this, /^$/,     String.fromCharCode(event.keyCode))"
      onpaste  = "return regInput(this, /^[\u4E00-\u9FA5]*$/, window.clipboardData.getData('Text'))"
      ondrop  = "return regInput(this, /^[\u4E00-\u9FA5]*$/, event.dataTransfer.getData('Text'))"
    >
      

  2.   

    是不是说中文用8进制或16进制来表示?按照我原来的了解,一个汉字有两个字节,每个字节的ASCII码是从十进制的161到254不知道究竟是不是这样的呢?